Я использую Visual Studio 2022 v17.10.0 и Boost 1.84.0. В документации Boost.JSON говорится следующее:
Использовать только как заголовок; то есть, чтобы исключить необходимость связывания
программы со статической или динамической библиотекой Boost.JSON, просто поместите
следующую строку ровно в один новый или существующий исходный файл вашего
проекта.
#include
Пользователи MSVC также должны определить макрос BOOST_JSON_NO_LIB, чтобы отключить автоматическое связывание. >
Я делаю вышеуказанное и получаю следующую ошибку компоновщика:
Неустранимая ошибка LNK1104: невозможно откройте файл
'libboost_container-vc143-mt-x64-1_84.lib'
Минимальный воспроизводимый пример ниже:
CMakeLists.txt:
cmake_minimum_required(VERSION 3.16)
project(min_rep_example VERSION 1.0.0 LANGUAGES CXX)
find_package(Boost 1.80 REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
add_executable(min_rep_example
main.cpp
)
main.cpp:
#include
#define BOOST_JSON_NO_LIB
#include
int main() {
std::string json_str = "{\"foo\": 42, \"bar\" : \"quux\"}";
auto json = boost::json::parse(json_str);
return 0;
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... ual-studio