Проблема связывания с Boost.Filesystem - PullRequest
3 голосов
/ 10 февраля 2011

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

SBDir.cpp:(.text+0x23): undefined reference to `boost::system::generic_category()'
SBDir.cpp:(.text+0x2f): undefined reference to `boost::system::generic_category()'
SBDir.cpp:(.text+0x3b): undefined reference to `boost::system::system_category()'

Но я связываюсь с буст-библиотеками ??!? Я использую следующее:

-lboost_system -lboost_system-mt -lboost_filesystem -lboost_filesystem-mt

И я знаю, что он может найти их, потому что с -Wl, -t я получаю:

-lboost_system (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_system.so)
-lboost_system-mt (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_system-mt.so)
-lboost_filesystem (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_filesystem.so)
-lboost_filesystem-mt (/usr/lib/gcc/x86_64-linux-gnu/4.4.3/../../../../lib/libboost_filesystem-mt.so)

FWIW: я использую gcc Ubuntu 4.4.3-4ubuntu54.4.3.

Ответы [ 2 ]

2 голосов
/ 13 января 2012

У меня было то же самое сообщение об ошибке с boost 1.46 (стандартно с Ubuntu 11.10), и мне пришлось добавить -lboost_system, которая мне не нужна в 11.04, и boost 1.42. Он не отвечает на ваш вопрос, но, возможно, представляет интерес для других, привезенных сюда путем поиска сообщения об ошибке.

1 голос
/ 10 февраля 2011

Так что я не мог понять, что пошло не так - поэтому я попытался удалить буст-пакет Ubuntu и собрать его с нуля.Я обновился до 1.45.0 и теперь все ссылки.Не уверен, была ли это проблема конкретной версии или нет, но если я узнаю больше позже, я вернусь и обновлю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...