#c #visual-c #boost
#c #visual-c #boost
Вопрос:
Для установки boost я запускаю
b2 install optimization=speed variant=debug,release --layout=tagged --prefix=BOOST_DIR
Имена lib-файлов выглядят так
...
libboost_serialization-mt.lib
libboost_serialization-mt-gd.lib
...
При компоновке проекта я получаю сообщение об ошибке
ССЫЛКА: фатальная ошибка LNK1104: не удается открыть файл ‘libboost_serialization-vc140-mt-gd-1_62.lib’
Этот файл не задан в настройках проекта никакими именами, задан только каталог этого файла. Проект успешно связывается, если я добавляю версии compiler и Boost к имени файла.
Могу ли я сделать так, чтобы проект не нуждался в переименовании lib-файлов Boost при установке новой версии Boost?
Ответ №1:
При создании boost с --layout=tagged
помощью опции необходимо определить BOOST_AUTO_LINK_TAGGED
, прежде чем включать какой-либо заголовок boost, чтобы разрешить корректную работу автоматической компоновки. В противном случае отключите автоматическое связывание, определив BOOST_ALL_NO_LIB
и явно указав библиотеку.