Russian Qt Forum
Ноябрь 26, 2024, 00:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: проблемы при линковке библиотеки mysqlclient  (Прочитано 6406 раз)
Anonymous
Гость
« : Март 25, 2004, 19:26 »

начал разбираться в связке си + mysql
(до этого работал с php, поэтому не ругайтесь сильно, если что; так же я немного покапался в форуме, но ответа не нашел...)

пишу приложение для веб
элементарно - обработчик формы

makefile содержАЛ команду:
gcc -o actions.cgi actions.c
то есть не было никакой линковки

но когда добавил в файл си следующее (в разных, конечно местах, не подряд):

#include "/usr/local/mysql/include/mysql/mysql.h"

MYSQL mysql;
MYSQL_RES* result;
MYSQL_ROW row;

//MySQL initialization
if(!mysql_init(&mysql)) {
printf("Cannot initialize MySQL");
exit();
}

то пришлось к команде компиляции приписать кое-что еще:

gcc -o actions.cgi actions.c -L/usr/local/mysql/include/mysql/ -L/usr/local/mysql/lib/mysql -lmysqlclient

но это сказалось тем, что при работе на сервере *.cgi, исходником которого и является разбираемый си файл, у меня ошибка 500 (Internal Server Error)

должно быть я не первый, кто нарвался
Записан
ods
Гость
« Ответ #1 : Март 26, 2004, 12:08 »

Цитата: "Anonymous"
gcc -o actions.cgi actions.c -L/usr/local/mysql/include/mysql/ -L/usr/local/mysql/lib/mysql -lmysqlclient

но это сказалось тем, что при работе на сервере *.cgi, исходником которого и является разбираемый си файл, у меня ошибка 500 (Internal Server Error)

А из командной строки запустить и сказать ошибку слабо? Что ldd говорит? Полагаю, что so-шник лежит там, где ld.so его не ищет.  Тогда -static, или править /etc/ld.so.conf + ldconfig, или (самое простое) собирать с установленным LD_RUN_PATH.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.04 секунд. Запросов: 20.