Я в настоящее время связываю повышение с моим текущим проектом.У меня есть предоставленные библиотеки (я не могу попросить их изменить) vc140 [Они названы примерно так: boost_thread-vc140-mt-x64-1_67.lib].Теперь, когда я пытаюсь построить свой код, я получаю сообщение об ошибке.
Журнал ошибок:
LNK1104 cannot open file 'libboost_thread-vc141-mt-x64-1_67.lib'
То же самое можно удалить с помощью вариантов vc141 (я пытался использовать то же самое после загрузкиэто один раз).Читая некоторые материалы, я обнаружил, что vc140 для Studio 15, а vc141 для Studio 17].
Эта ссылка , по-видимому, предполагает, что vc140 будет работать со Studio 17. Любые предложения о том, что может быть не так?
PS Я пытался использовать add_definitions (-DBOOST_ALL_NO_LIB)и Boost :: disable_autolinking
PPS Мой cmake выполняется успешно.Проблема возникает во время компиляции.Похоже, что на экране Linker> командной строки предполагается, что библиотека vc140 успешно связана.
message ($ {Boost_LIBRARIES}) печатает:
optimized
[path-to-boost]/tools/lib/boost_thread-vc140-mt-x64-1_67.libdebug
[path-to-boost]/tools/lib/boost_thread-vc140-mt-gd-x64-1_67.liboptimized
[path-to-boost]/tools/lib/boost_system-vc140-mt-x64-1_67.libdebug
[path-to-boost]/tools/lib/boost_system-vc140-mt-gd-x64-1_67.liboptimized
[path-to-boost]/tools/lib/boost_date_time-vc140-mt-x64-1_67.libdebug
[path-to-boost]/tools/lib/boost_date_time-vc140-mt-gd-x64-1_67.liboptimized
[path-to-boost]/tools/lib/boost_chrono-vc140-mt-x64-1_67.libdebug
[path-to-boost]/tools/lib/boost_chrono-vc140-mt-gd-x64-1_67.liboptimized
[path-to-boost]/tools/lib/boost_atomic-vc140-mt-x64-1_67.libdebug
[path-to-boost]/tools/lib/boost_atomic-vc140-mt-gd-x64-1_67.lib
Фрагмент скрипта:
# Boost headers dependency (and boost_system calls generated by inline
# functions)
if (WIN32)
set(Boost_USE_STATIC_LIBS OFF)
find_package(Boost 1.67 REQUIRED
COMPONENTS thread system date_time chrono)
else ()
find_package(Boost 1.67 REQUIRED
COMPONENTS thread system)
endif ()
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(${MAIN_TARGET} ${Boost_LIBRARIES})
# we know how to link against Boost ourselves, thank you...
add_definitions(-DBOOST_ALL_NO_LIB)