Компоновщик библиотеки C ++ Boost не находит, не компилируется - PullRequest
1 голос
/ 01 февраля 2012

Я пытаюсь скомпилировать, используя скомпилированные библиотеки Boost. Я могу скомпилировать, используя только библиотеки заголовков Boost, но теперь, когда я хочу использовать библиотеки, которые должны быть скомпилированы, я не могу заставить его работать. Я собрал всю библиотеку Boost, используя toolset = gcc и --build-type = complete stage. Я использую Eclipse, и я связываю папку, в которой расположены библиотеки: м, связывающий путь к папке. Я получаю ошибки как:

undefined reference to `boost::regex_error::raise() const'

или

undefined reference to `boost::re_detail::lookup_default_collate_name(std::string const&)'

Я компилирую пример кода из руководства по установке Boost, которое включает boost / regex.hpp

Ответы [ 2 ]

1 голос
/ 01 февраля 2012

Вам необходимо связать вашу программу с предварительно скомпилированной библиотекой Boost.

Пример:

c++ -I path/to/boost_1_48_0 example.cpp -o example \
 -L~/boost/stage/lib/ -lboost_regex-gcc34-mt-d-1_36

См. Описание здесь

0 голосов
/ 01 февраля 2012

Eclipse: свойства проекта -> сборка c ++ -> настройки -> компоновщик -> библиотеки

Добавьте boost_regex в библиотеки, если вы хотите использовать разделяемую библиотеку, или : / usr / lib / libboost_regex.a (или везде, где есть libboost_regex.a), если вы хотите статическое связывание.

...