Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не получается откомпиллировать приложение с MySQL, gcc... 
:(
    Опции темы
Anton Vatchenko
Дата 10.4.2007, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 21.5.2004

Репутация: нет
Всего: -1



Решил создать простое Си-приложение... Написал только одну строчку, где происходит инициализация mysql... Ругается:

Код

[root@vs82 planet]# gcc -o test1 test.c
/tmp/ccybh4Xo.o: In function `main':
test.c:(.text+0x1e): undefined reference to `mysql_init'
collect2: ld returned 1 exit status


Вычитал, что нужно библиотеки присобачить, но результат тот же...

Код

[root@vs82 planet]# gcc -o test1 -L/usr/lib/mysql -lmysqlclient test.c
/tmp/ccwAGzob.o: In function `main':
test.c:(.text+0x1e): undefined reference to `mysql_init'
collect2: ld returned 1 exit status



--------------------
user posted image
PM MAIL   Вверх
Anton Vatchenko
Дата 10.4.2007, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 21.5.2004

Репутация: нет
Всего: -1



Ok, понял свою ошибку, но проблема теперь другая:

Код

[root@vs82 planet]# gcc -o test1 test.c -L/usr/lib/mysql -lmysqlclient
/usr/lib/mysql/libmysqlclient.a(my_compress.o): In function `my_compress_alloc':
(.text+0xdb): undefined reference to `compress'
/usr/lib/mysql/libmysqlclient.a(my_compress.o): In function `my_uncompress':
(.text+0x16d): undefined reference to `uncompress'
collect2: ld returned 1 exit status


пытался в конце добавить -lz, но ругается, что не найден... Где-то вычитал, что нужно zlib-devel поставить... Это так? Как обычные приложения (сам mysql из консоли) работают нормально, а тут вдруг zlib потребовался!?


--------------------
user posted image
PM MAIL   Вверх
bilbobagginz
Дата 10.4.2007, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



какой дистрибутив ?



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Anton Vatchenko
Дата 10.4.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 21.5.2004

Репутация: нет
Всего: -1



Fedora Core 5


--------------------
user posted image
PM MAIL   Вверх
bilbobagginz
Дата 10.4.2007, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Цитата(Anton Vatchenko)

Где-то вычитал, что нужно zlib-devel поставить... Это так?

Да, нужно и возможно не только это.
не знаю как там у вас в Федорах, в Дебиан есть специальный "мета-"пакет, который устанавливают если хотят разрабатывать на машине. он устанавливает все заголовки, нужных библиотек и функций.

в Дебиан это называется build-essential, проверь есть ли такое у вас. возможно есть какой-то ГУИшный пакет, позволяющий выбрать "Development Workstation", или что-то в этом роде.

это вместо установки заголовков по одному.

Цитата(Anton Vatchenko)

Как обычные приложения (сам mysql из консоли) работают нормально, а тут вдруг zlib потребовался!?

дело в том, что они уже собраны и заголовки им поэтому уже не нужно, им уже нужно, чтобы нужные файлы библиотек ( не -devel ) были "видны" динамическому загрузчику.

Удачи.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Anton Vatchenko
Дата 10.4.2007, 13:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 21.5.2004

Репутация: нет
Всего: -1



а где бы найти этот devel, а то зашел на zlib.org, там только сорцы...


--------------------
user posted image
PM MAIL   Вверх
Бонифаций
Дата 10.4.2007, 14:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 9
Всего: 40



У вас mysql вообще как установлен? самосборный или из дистрибутива?

PS. установит zlib-devel: 

yum install zlib-devel




--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
Anton Vatchenko
Дата 10.4.2007, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 21.5.2004

Репутация: нет
Всего: -1



у меня установлены:
MySQL-client-5.0.37-0.i386.rpm
MySQL-devel-5.0.37-0.i386.rpm
MySQL-server-5.0.37-0.i386.rpm



--------------------
user posted image
PM MAIL   Вверх
Anton Vatchenko
Дата 10.4.2007, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 460
Регистрация: 21.5.2004

Репутация: нет
Всего: -1



yum install zlib-devel ничего хорошего не сказал, кроме как неизвестная комманда


--------------------
user posted image
PM MAIL   Вверх
bilbobagginz
Дата 10.4.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 113
Всего: 317



Anton Vatchenko, 
во-первых если yum - неизвестная команда для пользователя root, то его нужно установить.
потом, прикрутите все нужные репозитарии yum для вашего дитстрибутива.
а после попробуйте:
Цитата

yum grouplist

в списке, который получите выберите то, что вам нужно (что-то связанное с devel/dev/development) , и сделайте:
Цитата

yum groupinstall <имя группы пакетов>




удачи.



--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Бонифаций
Дата 10.4.2007, 22:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 827
Регистрация: 15.9.2005
Где: Brisbane

Репутация: 9
Всего: 40



если у вас mysql-devel установлен, то проверьте есть ли mysql_config.

Попробуйте mysql_config --cflags   
оно должно выдать список ключей для gcc для компиляции программ с mysql client. 
mysql_config --libs 
должно выдавать список ключей для линковки.

То есть ваша строка должна иметь вид:


gcc test.c -o test `mysql_config --cflags --libs`

(обратите внимание на вид кавычек)



--------------------
 Бонифаций.
 
PM MAIL ICQ Skype GTalk Jabber YIM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0531 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.