Как связать скомпилированные двоичные файлы Boost в Visual Studio 2022 через CMake?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Гость
 Как связать скомпилированные двоичные файлы Boost в Visual Studio 2022 через CMake?

Сообщение Гость »


Я загрузил Boost в свой (not the default path) and generated all binaries using

Код: Выделить всё

 .\b2 -j4 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/
Then I created a simple Visual Studio 2022 project using CMake. The content of the CMakeLists.txt is:

Код: Выделить всё

cmake_minimum_required (VERSION 3.12)

# Enable Hot Reload for MSVC compilers if supported.
if (POLICY CMP0141)
cmake_policy(SET CMP0141 NEW)
set(CMAKE_MSVC_DEBUG_INFORMATION_FORMAT "$")
endif()

set(BOOST_ROOT D:/boost_1_82_0)
set(Boost_INCLUDE_DIR ${BOOST_ROOT})
set(Boost_DEBUG ON)
set(Boost_NO_SYSTEM_PATHS TRUE)
set(Boost_NO_BOOST_CMAKE TRUE)
# set(Boost_USE_STATIC_LIBS_ON)
find_package(Boost REQUIRED)
include_directories(${Boost_INCLUDE_DIR})

project ("HelloCMake")

# Add source to this project's executable.
add_executable (HelloCMake "HelloCMake.cpp" "HelloCMake.h")

message(boost_libraries "${Boost_LIBRARIES}")
target_link_libraries(HelloCMake ${Boost_SYSTEM_LIBRARY} ${Boost_FILESYSTEM_LIBRARY} ${Boost_CONTAINER_LIBRARY})
It runs fine as long as it needs only the headers like

Код: Выделить всё

boost::asio
but as soon as I added any of the header files which requires compiled binaries like

Код: Выделить всё

boost/json/src.hpp
Visual Studio fails to link and gives the error

Код: Выделить всё

Error LNK1104 cannot open file 'libboost_container-vc143-mt-gd-x64-1_82.lib'
[/b]
I am new to cmake so I might be missing something obvious. Do you see any error with the cmake config? Thanks!


Источник: https://stackoverflow.com/questions/781 ... ough-cmake
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»