Сборка библиотек mysql++ для powerpc

У меня есть встроенное приложение, написанное на C++ (работающее на PowerPC в среде Linux), которое обращается к внешней базе данных. Поэтому моему приложению нужны библиотеки mysql++, которые должны быть собраны с использованием компилятора powerpc. Перед сборкой библиотек я хотел собрать библиотеки mysql++ для linux на моей виртуальной машине Ubuntu, чтобы проверить процедуру. Я скачал последнюю версию с официального сайта. Затем я следовал упомянутым шагам.

  1. Запустил ./configure из корневого каталога, я получил ошибку ниже.

* проверка директории библиотеки MySQL... configure: error: не удалось найти библиотеку mysqlclient в / usr / lib64 / usr / lib / usr / lib64 / mysql / usr / lib / mysql / usr / local / lib64 / usr / local / lib / usr / local / lib / mysql / usr / local / mysql / lib / usr / local / mysql / lib / mysql / usr / mysql / lib / mysql / opt / mysql / lib / opt / mysql / lib / mysql / sw / lib / sw / lib / mysql ' *

Я попытался найти mysqlclient и не нашел никаких ссылок, поэтому я следовал инструкциям, приведенным на других форумах, и попытался установить libmysqlclient15-dev с помощью команды ниже.

sudo apt-get установить libmysqlclient15-dev

Вывод как показано ниже

Чтение списков пакетов... Готово Построение дерева зависимостей
Чтение информации о состоянии... Готово Обратите внимание, что выбор "libmysqlclient-dev" вместо "libmysqlclient15-dev" libmysqlclient-dev уже является самой новой версией.

Следующие пакеты были автоматически установлены и больше не требуются: libcommons-collection3-java junit4 libecj-java libdb5.1-java libasm3-java libgcj-bc gcj-4.6-jre-lib libgnomeui-common libcommons-el-java junit linux-headers-3.2.0-32 linux-headers-3.2.0-29 libcommons-compress-java libregexp-java libdb-java libswt-cairo-gtk-3-jni libjasper-java libbonoboui2-общие libbonoboui2-0 libdb5.1-java-gcj libcommons-httpclient-java libservlet2.4-java liblucene2-java libswt-gtk-3-java libcommons-cli-java libslf4j-java libgcj12 libxml-commons-external-java libswt-webkit-gtk-3-jni linux-3.2.0-29-generic-pae libswt-gtk-3-jni ant gcj-4.6-base libcommons-logging-java default-jdk libswt-glx-gtk-3-jni libcommons-codec-java jarwrapper libequinox-osgi-java libgcj-common libapache-pom-java libgnomeui-0 libjetty-java libjline-java libxerces2-java Sat4j -со mmons-resolver1.1-java libicu4j-java linux-headers-3.2.0-32-generic-pae libicu4j-4.4-java libwebkitgtk-1.0-common libcommons-lang-java libwebkitgtk-1.0-0 libjavascriptcoregtk-1.0-0 libjsch-java-необязательный libswt-gnome-gtk-3-jni

Используйте "apt-get autoremove", чтобы удалить их. 0 обновлено, 0 недавно установлено, 0 для удаления и 0 не обновлено.

После этого я попытался найти libmysqlclient и все еще не мог найти библиотеки (.so файлы). Я попытался ./configure снова, и он не удалось в том же месте с тем же сообщением об ошибке. Как я могу установить libmysqlclient?

Как только это будет решено, я буду перестраивать библиотеку mysql++, используя мой набор инструментов для powerpc. Кто-нибудь пробовал это? Для сборки библиотеки mysql++ мне нужен mysqlclient, в предыдущем примере я установил бы ее, выполнив команду apt-get, но библиотеки будут скомпилированы с использованием компилятора gnu? Как сделать кросс-компиляцию mysqlclient для powerpc? Я думаю, мне нужно сделать ниже

  1. Сборка mysqlclient для powerpc.
  2. Используйте эти библиотеки и создайте библиотеки mysql++ для powerpc.
  3. Используйте библиотеки mysql++ и mysqlclient в моем приложении и скомпилируйте для powerpc.

Я новичок в Linux и базы данных.

1 ответ

Решение

Я наконец решил эту проблему. Я сделал ниже.

  1. Загрузил исходные файлы Connector/C (libmysql) отсюда
  2. Крест скомпилировал его для powerpc, ниже приведена команда для cmake

    cmake -DCMAKE_INSTALL_PREFIX="~/mysqlclient_C/lib" -DCMAKE_C_COMPILER="ppc_4xx-gcc" -DCMAKE_C_FLAGS="-I/opt/ELDK/4.2/ppc_4xx/usr/include/" -DCMAKE_CXX_COMPILER="ppc_4xx-g++" -DCMAKE_CXX_FLAGS="-I/opt/ELDK/4.2/ppc_4xx/usr/include/" -DCMAKE_EXE_LINKER_FLAGS="-lm"
    

Затем простой make сгенерировал библиотеки libmysql.

  1. Загруженные исходные файлы mysql++ отсюда
  2. Крест скомпилировал его для powerpc, ниже моя команда configure

    ./configure --target=powerpc-linux --host=powerpc-linux  --prefix="$HOME/mysql++/lib" --enable-thread-check --with-mysql="$HOME/mysqlclient_C/lib" CC=ppc_4xx-gcc CXX=ppc_4xx-g++ LDFLAGS=-lm CFFLAGS="-I/opt/ELDK/4.2/ppc_4xx/usr/include" CXXFLAGS="-I/opt/ELDK/4.2/ppc_4xx/usr/include"
    
  3. Библиотеки mysql++ теперь генерируются.

Я еще не тестировал встроенные библиотеки.

Другие вопросы по тегам