g++ не может связаться с libmysqlclient
Я использую Ubuntu 12.04 на виртуальной машине на моем MacbookPro. Я установил build-essential, mysql-server и libmysqlclient-dev. Обе команды "mysql" и "mysql_config" работают.
Однако следующая программа не связывает:
#include <stdio.h>
#include <unistd.h>
#include <mysql.h>
int main(int argc,char *argv[]){
printf("hello world\n");
//init
{
MYSQL itsmysql;
MYSQL* mytemp=0; mytemp=mysql_init(&itsmysql);
if(mytemp){
printf("hello world YEP\n");
}
else{
printf("hello world NOOOO\n");
}
}
return 0;
}
Я запускаю g++ с командой:
g++ `mysql_config --cflags` `mysql_config --libs` test.cpp
Я работал под 32-битной версией Ubuntu, но теперь у меня есть 64-битная версия. Проблема возникает как с использованием VirtualBox, так и с Parallels. Вывод mysql_config выглядит нормально.
Мне кажется, что компоновщик не может найти подходящий тип файла / архитектуры среди файлов libmysqlclient.
Что я должен попробовать дальше?
Сообщение об ошибке "неопределенная ссылка на mysql_init".
1 ответ
Решение
Попробуйте вместо этого: работал для меня
g++ -o test test.cpp `mysql_config --cflags` `mysql_config --libs`
Тогда тест
./test
Hello world YEP