- Клиент на С для MYSQL не видит функции MYSQL., solov, 20:10 , 27-Фев-04 (1)
- Клиент на С для MYSQL не видит функции MYSQL., DH, 22:05 , 27-Фев-04 (2)
- Клиент на С для MYSQL не видит функции MYSQL., DS, 21:12 , 30-Апр-04 (3)
>Тебе надо просто подключит все правильно. Где -lmysqlclient? Для того что-бы долго >не искать где у тебя лежат либы и инклуды с mysql >идет маленькая програмка mysql_config. Тебе остается только сделать следуещее >gcc -o one one.c 'mysql_config --cflags' 'mysql_config --libs' У меня на флаг 'mysql_config --libs' выводит следующее: /usr/bin/ld: cannot find -lmysqlclient collect2: ld returned 1 exit status Что делать? 8) Подскажите плз.. > > >>Пробую програмить под Linux. Хочу поюзать мускул из сишки. >>Поставил мускул 4.1. - всё по дефолту. >>Запустил, проверил через mysql -u root mysql -p. >>Базы посоздавал, юзверей. Всё ок. >> >>Дошёл до с. >>Набил исходник - простой до невменяемости: >>//============= one.c ============= >>#include <stdio.h> >>#include <mysql/mysql.h> >>static MYSQL *d_sql; >>int main() >>{ >> mysql_init(d_sql); >> return 0; >>} >>//================= >>Make file сделал >>//========Makefile========= >>one: one.c >> gсс -o one one.c >> >>//================= >>Самое интерестное. >>Делаю make и получается фигня. >>//========фигня========= >># make >>gсс -o one one.c >>/tmp/ccw5wJiJ.o: In function `main': >>/tmp/ccw5wJiJ.o(.text+0x10): undefined reference to `mysql_init' >>collect2: ld returned 1 exit status >>make: *** [one] Error 1 >>//====================== >> >>Насколько я знаю из сишки - он мне написал, что неопределена связь >>(реализация, тобишь) mysql_init. >>В mysql.h файле она есть - проверял. >>Так какого фига..........!!!!!!!!!! >> >>Вопрос по ходу - в h файлах - прототипы функций, а где >>в линухе хранятся реализации функций и как он связывает при компиляции! >> >> >>Заранее благодарен хоть на какую нибудь инфу!
- Клиент на С для MYSQL не видит функции MYSQL., solov, 11:50 , 01-Май-04 (4)
- Клиент на С для MYSQL не видит функции MYSQL., DS, 13:08 , 01-Май-04 (5)
>На сколько я знаю mysqlclient.so должен лежать в /usr/lib/. Попробуй запустить в >консоле mysql если появится >mysql> >то эта либа точно есть. ищи ее с помощью find. Когда найдеш >тогда не забудь указать компилятору путь к либе -L / .... >-lmysqlclient. Ну а если ее у тебя нет тогда качай с >инета и копируй в /usr/lib делаю locate mysqlclient находит /usr/lib/mysql/libmysqlclient.so и еще несколько версий.делаю gcc -L/usr/include/mysql -L/usr/lib/mysql -llibmysqlclient.so proga.c gcc -L/usr/include/mysql -L/usr/lib/mysql -lmysqlclient.so proga.c gcc -L/usr/include/mysql -L/usr/lib/mysql -llibmysqlclient proga.c gcc -L/usr/include/mysql -L/usr/lib/mysql -llibmysqlclient_r.so.10.0.0 proga.c И всеравно пишет /usr/bin/ld: cannot find -llibmysqlclient.so и тп. collect2: ld returned 1 exit status Че делать? 8) П.С. С праздничокм. 8))))
- Клиент на С для MYSQL не видит функции MYSQL., DS, 20:48 , 01-Май-04 (6)
Все разобрался..;) >>На сколько я знаю mysqlclient.so должен лежать в /usr/lib/. Попробуй запустить в >>консоле mysql если появится >>mysql> >>то эта либа точно есть. ищи ее с помощью find. Когда найдеш >>тогда не забудь указать компилятору путь к либе -L / .... >>-lmysqlclient. Ну а если ее у тебя нет тогда качай с >>инета и копируй в /usr/lib >делаю locate mysqlclient >находит >/usr/lib/mysql/libmysqlclient.so и еще несколько версий. > >делаю >gcc -L/usr/include/mysql -L/usr/lib/mysql -llibmysqlclient.so proga.c >gcc -L/usr/include/mysql -L/usr/lib/mysql -lmysqlclient.so proga.c >gcc -L/usr/include/mysql -L/usr/lib/mysql -llibmysqlclient proga.c >gcc -L/usr/include/mysql -L/usr/lib/mysql -llibmysqlclient_r.so.10.0.0 proga.c > >И всеравно пишет /usr/bin/ld: cannot find >-llibmysqlclient.so и тп. >collect2: ld returned 1 exit status >Че делать? 8) > >П.С. С праздничокм. 8))))
|