The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Клиент на С для MYSQL не видит функции MYSQL."
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Клиент на С для MYSQL не видит функции MYSQL."
Сообщение от DH emailИскать по авторуВ закладки on 27-Фев-04, 16:38  (MSK)
Пробую програмить под 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 файлах - прототипы функций, а где в линухе хранятся реализации функций и как он связывает при компиляции!

Заранее благодарен хоть на какую нибудь инфу!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Клиент на С для MYSQL не видит функции MYSQL."
Сообщение от solov Искать по авторуВ закладки on 27-Фев-04, 20:10  (MSK)
Тебе надо просто подключит все правильно. Где -lmysqlclient? Для того что-бы долго не искать где у тебя лежат либы и инклуды с mysql идет маленькая програмка mysql_config. Тебе остается только сделать следуещее
gcc -o one one.c 'mysql_config --cflags' 'mysql_config --libs'


>Пробую програмить под 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 файлах - прототипы функций, а где
>в линухе хранятся реализации функций и как он связывает при компиляции!
>
>
>Заранее благодарен хоть на какую нибудь инфу!


  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Клиент на С для MYSQL не видит функции MYSQL."
Сообщение от DH emailИскать по авторуВ закладки on 27-Фев-04, 22:05  (MSK)
>Тебе надо просто подключит все правильно. Где -lmysqlclient? Для того что-бы долго
>не искать где у тебя лежат либы и инклуды с mysql
>идет маленькая програмка mysql_config. Тебе остается только сделать следуещее
>gcc -o one one.c 'mysql_config --cflags' 'mysql_config --libs'

Круто - получилось!
Спасибочки!
А как по поводу общеобразовательных моментов?
Извините за наглость! :)

>>Вопрос по ходу - в h файлах - прототипы функций, а где
>>в линухе хранятся реализации функций и как он связывает при компиляции!

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Клиент на С для MYSQL не видит функции MYSQL."
Сообщение от DS Искать по авторуВ закладки(??) on 30-Апр-04, 21:12  (MSK)
>Тебе надо просто подключит все правильно. Где -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 файлах - прототипы функций, а где
>>в линухе хранятся реализации функций и как он связывает при компиляции!
>>
>>
>>Заранее благодарен хоть на какую нибудь инфу!


  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Клиент на С для MYSQL не видит функции MYSQL."
Сообщение от solov Искать по авторуВ закладки(??) on 01-Май-04, 11:50  (MSK)
На сколько я знаю mysqlclient.so должен лежать в /usr/lib/. Попробуй запустить в консоле mysql если появится
mysql>
то эта либа точно есть. ищи ее с помощью find. Когда найдеш тогда не забудь указать компилятору путь к либе -L / .... -lmysqlclient. Ну а если ее у тебя нет тогда качай с инета и копируй в /usr/lib
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Клиент на С для MYSQL не видит функции MYSQL."
Сообщение от DS Искать по авторуВ закладки(??) on 01-Май-04, 13:08  (MSK)
>На сколько я знаю 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))))


  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Клиент на С для MYSQL не видит функции MYSQL."
Сообщение от DS Искать по авторуВ закладки(??) on 01-Май-04, 20:48  (MSK)
Все разобрался..;)
>>На сколько я знаю 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))))


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру