простенькая прога на сях#include "mysql.h"
MYSQL mysql;
int main(void)
{
mysql_connect(&mysql, "localhost", "user", "password");
return(0);
}вываливается:
/var/tmp//blablabla.o: in function 'main'
/var/tmp//blablabla.o(.text+0x25) undefined reference to 'mysql_connect'mysql.h лежит там где надо.
прописывание полных путей и gcc -I /.. не помогает.
>простенькая прога на сях
>
>#include "mysql.h"
>
>MYSQL mysql;
>int main(void)
>{
> mysql_connect(&mysql, "localhost", "user", "password");
> return(0);
>}
>
>вываливается:
>
>/var/tmp//blablabla.o: in function 'main'
>/var/tmp//blablabla.o(.text+0x25) undefined reference to 'mysql_connect'
>
>mysql.h лежит там где надо.
>прописывание полных путей и gcc -I /.. не помогает.
А -lmysqlclient прописано?
>>mysql.h лежит там где надо.
>>прописывание полных путей и gcc -I /.. не помогает.
>А -lmysqlclient прописано?да.
>
>>>mysql.h лежит там где надо.
>>>прописывание полных путей и gcc -I /.. не помогает.
>>А -lmysqlclient прописано?
>
>да.
Согласись, очевидно одно - линкер не видит функцию mysql_connect() ни в одной из подключенных библиотек. Поэтому имхо два варианта: либо что-то с самой библиотекой libmysqlclient, либо все-таки что-то напутано с путями или названиями. Выложи Makefile или полную команду компилцию. Покажи где лежат библиотеча и хидеры. ??? что еще?..
>Согласись, очевидно одно - линкер не видит функцию mysql_connect() ни в одной
>из подключенных библиотек. Поэтому имхо два варианта: либо что-то с самой
>библиотекой libmysqlclient, либо все-таки что-то напутано с путями или названиями. Выложи
>Makefile или полную команду компилцию. Покажи где лежат библиотеча и хидеры.
>??? что еще?..gcc -lmysqlclient test.c
результат: /usr/local/ld: cannot find -lmysql clientgcc -lmysqlclient -L/path test.c - тоже что было раньше.
ldconfig -r всё отлично показывает. mysqlclient присутствует несколько раз там где надо.
include с полным путём тоже не помогает.я бы так не парился, но тут большая часть проекта стоит из-за этого. причём проект надо закончить как можно быстрее.
ешё есть какие-нибудь варианты?
>
>>Согласись, очевидно одно - линкер не видит функцию mysql_connect() ни в одной
>>из подключенных библиотек. Поэтому имхо два варианта: либо что-то с самой
>>библиотекой libmysqlclient, либо все-таки что-то напутано с путями или названиями. Выложи
>>Makefile или полную команду компилцию. Покажи где лежат библиотеча и хидеры.
>>??? что еще?..
>
>gcc -lmysqlclient test.c
>результат: /usr/local/ld: cannot find -lmysql client
>
>gcc -lmysqlclient -L/path test.c - тоже что было раньше.
>
>ldconfig -r всё отлично показывает. mysqlclient присутствует несколько раз там где надо.
>
>include с полным путём тоже не помогает.
>
>я бы так не парился, но тут большая часть проекта стоит из-за
>этого. причём проект надо закончить как можно быстрее.
>ешё есть какие-нибудь варианты?
>
>Выписка из документации:
==================================
11.1.3.5 mysql_connect()MYSQL *mysql_connect(MYSQL *mysql, const char *host, const char *user, const char *passwd)
DescriptionThis function is deprecated. It is preferable to use mysql_real_connect() instead.
====================================Может в этом причина? Я где то слышал, что в новых mysql-ях mysql_connect по дефалту убрали и чтобы эту функцию пользовать надо mysql с какими-то параметрами компилить
>
>>Согласись, очевидно одно - линкер не видит функцию mysql_connect() ни в одной
>>из подключенных библиотек. Поэтому имхо два варианта: либо что-то с самой
>>библиотекой libmysqlclient, либо все-таки что-то напутано с путями или названиями. Выложи
>>Makefile или полную команду компилцию. Покажи где лежат библиотеча и хидеры.
>>??? что еще?..
>
>gcc -lmysqlclient test.c
>результат: /usr/local/ld: cannot find -lmysql client
>
>gcc -lmysqlclient -L/path test.c - тоже что было раньше.Можно попробовать
gcc test.c /path/libmysqlclient.so.x.x
мда...
вобщем окончательный вариант такой:#include "/path/mysql.h"
main()
{
MYSQL mysql;mysql_init(&mysql);
mysql_real_connect(&mysql, host, user, pass, etc...);}
gcc test.c -L/path_to_mysqlclient -Lmysqlclient
всем спасибо за помощь