Есть ли какая-то ошибка при создании Boost.JSON только для заголовка с использованием Visual Studio?C++

Программы на C++. Форум разработчиков
Anonymous
Есть ли какая-то ошибка при создании Boost.JSON только для заголовка с использованием Visual Studio?

Сообщение Anonymous »

Я использую 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

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