Russian Qt Forum

Qt => Общие вопросы => Тема начата: Bojo от Сентябрь 24, 2009, 20:40



Название: Не могу прикрутить boost
Отправлено: Bojo от Сентябрь 24, 2009, 20:40
Имеем в исходниках ссылки на boost:

#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>

Имеем в файле project.pro строки:

INCLUDEPATH += C:\Libs\Boost\include\boost-1_40\
LIBS += C:\Libs\Boost\lib\boost_filesystem-mgw34-mt-d.lib

Ошибка такая:
c:/Libs/Boost/include/boost-1_40/boost/system/error_code.hpp:205: undefined reference to `boost::system::get_system_category()'


Название: Re: Не могу прикрутить boost
Отправлено: Rcus от Сентябрь 25, 2009, 03:17
Значит не все библиотеки подключили. В частности boost_system /* Кстати CMake'ом гораздо приятнее программы с бустом собирать */


Название: Re: Не могу прикрутить boost
Отправлено: Bojo от Сентябрь 25, 2009, 07:55
Не помогло - ошибка та же.


Название: Re: Не могу прикрутить boost
Отправлено: Rcus от Сентябрь 25, 2009, 08:07
Код:
$ objdump boost_1_39_0/stage/lib/libboost_system-gcc44-mt-1_39.a -t | grep get_system_category | /usr/bin/c++filt
00000040 l     O .bss   00000008 guard variable for boost::system::get_system_category()::system_category_const
00000048 l     O .bss   00000004 boost::system::get_system_category()::system_category_const
000000e0 g     F .text  00000061 boost::system::get_system_category()


Название: Re: Не могу прикрутить boost
Отправлено: Bojo от Сентябрь 25, 2009, 08:43
Если я правильно понял, objdump - это в Linux. У меня windows.


Название: Re: Не могу прикрутить boost
Отправлено: Rcus от Сентябрь 25, 2009, 08:51
/* sigh */
Код:
$ pacman -Qo /usr/bin/objdump
/usr/bin/objdump принадлежит binutils 2.19.1-5
Не вижу как различие в операционных системах применимо к данной проблеме. Вы используете тот же GNU Toolchain.
Собственно вывод я привел чтобы показать где находится недостающий метод.


Название: Re: Не могу прикрутить boost
Отправлено: Bojo от Сентябрь 25, 2009, 20:10
Да, вы правы. Спасибо.
Не хватало boost_system. Не знаю, что было не так изначально, но в итоге на очередной итерации все заработало.