Visual Studio 2017 не может найти boost_system.lib в проекте cmake - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь скомпилировать свой проект cmake с boost в Visual Studio 2017, но постоянно получаю следующую ошибку:

LNK1104 cannot open file 'boost_system.lib'

Вот выдержка из моего файла cmake:

project(my_project C CXX)

set(Boost_USE_STATIC_LIBS        ON)
set(Boost_USE_MULTITHREADED      ON)
set(Boost_USE_STATIC_RUNTIME     OFF)

add_definitions( -DBOOST_ALL_NO_LIB )

find_package(Boost 1.68.0 REQUIRED COMPONENTS system thread)
include_directories(${Boost_INCLUDE_DIRS}) 

Чего мне не хватает?

решено: необходимо

target_link_libraries(my_project ${Boost_LIBRARIES}) 

1 Ответ

0 голосов
/ 15 ноября 2018

Вам также необходимо указать каталоги библиотеки.

Параметр C ++ → Общие → Дополнительные включаемые каталоги предназначен для вывода списка каталогов, в которых компилятор будет искать заголовочные файлы.

Вы должны указать компоновщику, где искать библиотеки для ссылки. Чтобы получить доступ к этому параметру, щелкните правой кнопкой мыши имя проекта в окне обозревателя решений, затем выберите Свойства → Компоновщик → Общие → Дополнительные каталоги библиотек. Введите \ stage \ lib здесь (это путь, по которому расположены библиотеки, если вы создаете Boost с использованием параметров по умолчанию).

Для CMake попробуйте что-то вроде

link_directories(${Boost_LIBRARY_DIRS})
...