#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 to
mysql_get_client_info'
что не так? моя система является человечностью
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)
Вам нужно gcc -o mysql-test MySQL-Test.c -L/usr/local/mysql/lib -lmysqlclient -lz
Замените -L/usr/local/mysql/lib
на то, где находится ваша клиентская библиотека (если ее еще нет в вашем libpath)
Смотрите инструкции MySql по созданию клиентов.
Это не ошибка компиляции. Это ошибка соединения.
Добавьте библиотеку mysql для создания исполняемого файла с помощью опции -lmysql
, это должно помочь.
Вы забыли установить ссылку на библиотеку MySQL.
Попробуйте добавить -lmysql
в строку компиляции.
См. http://www.adp-gmbh.ch/cpp/gcc/create_lib.html для получения дополнительной информации.
Вы не ссылаетесь на библиотеки. Используйте: gcc -llibrarygoeshere -o mysql-test MySQL-Test.c
См. здесь для получения дополнительной информации о связывании с gcc.