привычка gcc компилирует и выполненные библиотеки MySQL C

#include <my_global.h>
#include <mysql.h>

int main(int argc, char **argv)
{
  printf("MySQL client version: %s\n", mysql_get_client_info());
}

~ $ gcc-o mysql-тестируют MySQL-Test.c

Я пытаюсь выполнить эту тестовую программу от терминала, но получить следующее сообщение об ошибке:

/tmp/cceEmI0I.o: В функции main': MySQL-Test.c:(.text+0xa): undefined reference tomysql_get_client_info'

что не так? моя система является человечностью

7
задан codaddict 22 October 2010 в 20:32
поделиться

5 ответов

MySQL поставляется со специальным скриптом, который называется mysql_config . Он предоставляет вам полезную информацию для компиляции вашего клиента MySQL и подключения его к серверу базы данных MySQL.

Пройдите - опция libs - библиотеки и опции, необходимые для линковки с клиентской библиотекой MySQL.

$ mysql_config --libs

Типичный вывод:

-L/usr/lib64/mysql -lmysqlclient -lz -lcrypt -lnsl -lm -L/usr/lib64 -lssl -lcrypto

Теперь вы можете добавить это в свою строку компиляции / компоновки:

gcc -o mysql-test MySQL-Test.c $(mysql_config --libs)
14
ответ дан 6 December 2019 в 06:23
поделиться

Вам нужно gcc -o mysql-test MySQL-Test.c -L/usr/local/mysql/lib -lmysqlclient -lz

Замените -L/usr/local/mysql/lib на то, где находится ваша клиентская библиотека (если ее еще нет в вашем libpath)

Смотрите инструкции MySql по созданию клиентов.

4
ответ дан 6 December 2019 в 06:23
поделиться

Это не ошибка компиляции. Это ошибка соединения.

Добавьте библиотеку mysql для создания исполняемого файла с помощью опции -lmysql, это должно помочь.

2
ответ дан 6 December 2019 в 06:23
поделиться

Вы забыли установить ссылку на библиотеку MySQL. Попробуйте добавить -lmysql в строку компиляции.

См. http://www.adp-gmbh.ch/cpp/gcc/create_lib.html для получения дополнительной информации.

2
ответ дан 6 December 2019 в 06:23
поделиться

Вы не ссылаетесь на библиотеки. Используйте: gcc -llibrarygoeshere -o mysql-test MySQL-Test.c См. здесь для получения дополнительной информации о связывании с gcc.

2
ответ дан 6 December 2019 в 06:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: