Название: проблемы при линковке библиотеки mysqlclient Отправлено: 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) должно быть я не первый, кто нарвался Название: Re: проблемы при линковке библиотеки mysqlclient Отправлено: ods от Март 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. |