Linux make не может ссылаться на библиотеки Boost без заголовка - PullRequest
1 голос
/ 08 августа 2011

Я успешно переключился на Linux, и я действительно начинаю любить его. За исключением того, что я не могу связать код с библиотеками Boost, которые не являются только заголовками.

Шаги, которые я предпринял:

  1. Запустите sudo apt-get install libboost.*-dev в терминале, чтобы установить библиотеки Boost
  2. Пусть CMake сгенерирует мои make-файлы и найдет библиотеки Boost, как я это делал в Windows.
  3. Запустите make для компиляции.

Тот же код компилируется и прекрасно связывается в Windows с Microsoft Visual C ++.

Дополнительная информация

Что еще мне нужно сделать?

1 Ответ

2 голосов
/ 08 августа 2011

Исходя из вашего вывода и ваших файлов CMake, не похоже, что вы связываете свой код с библиотекой файловой системы Boost.

То есть

target_link_libraries(RCMeta ${Boost_FILESYSTEM_LIBRARY} ${Boost_REGEX_LIBRARY})

Примечание: у меня может бытьневерное имя переменной для этой библиотеки, возможно, вам придется проверить его дважды.

Вы также можете использовать общую переменную ${Boost_LIBRARIES},

target_link_libraries(RCMeta ${Boost_LIBRARIES})

для вашей библиотеки RCMeta.

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