Связывание Boost с моим C ++ проектом в Eclipse - PullRequest
9 голосов
/ 26 марта 2010

Я пытаюсь заставить библиотеку Boost работать в моих проектах C ++ в Eclipse. Я могу успешно собрать при использовании библиотек только для заголовков в Boost, таких как пример простой программы в руководстве «Приступая к работе» с использованием лямбда-заголовка.

Я не могу заставить свой проект успешно связаться с библиотекой regex Boost, как показано ниже в руководстве. В свойствах моего проекта -> сборка c / c ++ -> настройки -> вкладка настроек инструмента -> библиотеки я добавил «libboost_regex» в поле «Библиотеки» и «C: \ Program Files \ boost \ boost_1_42_0 \ bin.v2 \ libs» msgstr "в поле пути поиска библиотеки, так как именно там находятся все .lib файлы. Я даже пытался добавить "libboost_regex-mgw34-mt-d-1_42.lib" в поле библиотек вместо "libboost_regex", поскольку это точное имя файла, но это тоже не сработало.

Я получаю сообщение об ошибке «Не могу найти -llibboost_regex» при попытке создать свой проект. Любые идеи относительно того, как я могу это исправить?

Редактировать : в Windows XP, используя mingw, и я также попробовал "boost_regex" ..

Ответы [ 3 ]

19 голосов
/ 26 марта 2010

Я только что прошел весь процесс установки MinGW, компиляции boost и установки Eclipse CDT, и я могу компилировать простые программы, используя boost:regex. Я запишу все шаги. Я надеюсь, что это может помочь.

Я установил MinGW и MSYS по умолчанию.

Вот шаг, который я сделал для создания надстройки:

  • Скачать boost-jam-3.1.18-1-ntx86.zip из http://sourceforge.net/projects/boost/files/boost-jam
  • Поместите bjam.exe где-нибудь в вашей PATH
  • Распаковать буст в C:\mingw\boost_1_42_0
  • Откройте окно терминала msys и cd /c/mingw/boost_1_42_0
  • В каталоге boost запустите bjam --build-dir=build toolset=gcc stage

Чтобы настроить Eclipse:

  • Добавление CDT в Eclipse 3.5 с сайта обновления
  • Создать новый проект C ++
  • В меню Project выберите properties
  • Убедитесь, что конфигурация Отладка [Актив]
  • In " C / C ++ General "> " Пути и символы "

    • На вкладке Включает выберите язык GNU C ++ и добавьте C:\MinGW\boost_1_42_0
    • На вкладке Библиотеки добавить add C:\MinGW\boost_1_42_0\stage\lib
  • In " C / C ++ Build "> " Настройки "

    • Выбрать MinGW C ++ Linker > Библиотеки
    • Нажмите кнопку добавления для Библиотеки (-l)
    • Тип libboost_regex-mgw34-mt-d (без .lib)

Затем можно выполнить те же действия для конфигурации Release , но вместо этого использовать libboost_regex-mgw34-mt. Также убедитесь, что ваши исходные файлы включают <boost/regex.hpp>

7 голосов
/ 18 апреля 2011

Чтобы связать с улучшающей библиотекой в ​​eclipse, вам нужно установить как путь к библиотеке проекта eclipse (тот, что с -L), так и имя библиотеки (тот, что с -l).

префикс 'lib' и расширение имени библиотеки должны быть удалены: - например, libboost_regex.a должен быть указан как boost_regex.

0 голосов
/ 26 марта 2010

Я считаю, что ваш путь к lib указывает на неправильное место. Библиотека будет установлена ​​на:

boost_install_dir \ boost_1_42 \ Lib

Я думаю, что по умолчанию для boost_install_dir указано "C: \ Program Files \ Boost" (не уверен, поскольку я не использую каталог установки по умолчанию).

...