Страница 1 из 1

: evil: Бред какой-то!!! g++ упорно не находит биб-ки!

Добавлено: 19 мар 2004, 13:20
Daos
Народ, помогите пожалуйста!

Сделал я прогу под libxml2 (для FreeBSD). Прога компиляется успешно, но при попытке её слинковать не находит не одной ссылки
на libxml2, успешно установленную в /lib!

Строка такая:
g++ -o testparse -traditional-cpp -l xml2 -l xslt -static testparse.cpp

Даже если сделать -l libxml2 или -L /lib - ничего не изменится

Выдаются сообщения типа:
undefined reference to _xmlCleanupParser

Добавлено: 19 мар 2004, 14:38
exe
1.Что показывает ldconfig -v?
2.Иногда нужно менять порядок библиотек
3. Нет смысла в -static флаге после библиотек
4. Найди в какой библиотеке определен _xmlCleanupParser,
команда nm

Добавлено: 19 мар 2004, 16:21
Гость
_xmlCleanupParser определён в libxml2! :)) Сейчас строка такая (а эффект тот же):

gcc -o testparser.c -I /usr/include/libxml2 -L /usr/lib -lxml2 -lxslt -lm -lz -lpthread -liconv testparser.cpp

:(:(:(

Добавлено: 19 мар 2004, 16:43
fa3a
nm -A testparser.o | grep xmlCleanupParser
nm -A /usr/lib/libxml2.so | grep xmlCleanupParser

посмотри те ли же типы для параметров в етой функции..
плюс есть ли символ "T" в libxml2.so напротив xmlCleanupParser..

Добавлено: 19 мар 2004, 18:42
Гость
Всё Ок, но выяснилась интересная вешчь - прога компиляется под FreeBSD, Debian Linux и даже IRIX, а на CygWinе у одного товарища, для которого она и нужна была - не фига!

Вот так-то...:roll:

Добавлено: 19 мар 2004, 19:23
fa3a
ну ясный пень!!! CygWin ето все-таки не Линукс.. ето в конце концов Винда!! Хоть и юниксоподобная... :-)

Добавлено: 29 сен 2007, 16:04
mallory
Книга "PHP5 В подлиннике",Котеров & Костарев, стр. 192. Написано, что при компиляции libxml2 надо такую команду давать:
./configure --prefix=`pwd`/../bld --with-threads=no --enable-shared=no
Но это видимо в Linux так собирают, а в FreeBSD как задать при компиляции данные опции?