我一直在尝试为学校项目包含现代c ++(GitHub page)库的JSON。 README的集成部分要求用户向将使用该库的.cpp文件添加一行简单的代码。但是,这些行提供了错误,因为在包含的文件中,设计者使用#include<>包含其他文件。我正在使用使用Cmake的Clion。我目前无法在没有收到以下错误消息的情况下运行该程序:
fatal error: nlohmann/json.hpp: No such file or directory
#include <nlohmann/json.hpp>
我的代码如下:
#include <nlohmann/json.hpp>
// for convenience
using json = nlohmann::json;
我的Cmake:
cmake_minimum_required(VERSION 3.8)
project(assingment_5)
set(CMAKE_CXX_STANDARD 11)
include_directories( CMAKE_CURRENT_SOURCE_DIR/nlohmann)
set(SOURCE_FILES main.cpp sample Item.cpp Item.h)
add_executable(assingment_5 ${SOURCE_FILES})
nlohmann
文件夹位于项目的根目录中
更新:
感谢大家的答案。
问题CMake问题已由@Justin解决(评论中的完整修复)。我知道有多种方法可以解决它,但这是我选择的方法。
新的CMakeLists.txt现在看起来像:
cmake_minimum_required(VERSION 3.8)
project(assingment_5)
set(CMAKE_CXX_STANDARD 11)
set(SOURCE CMAKE_SOURCE_DIR)
#[[include_directories(${PROJECT_SOURCE_DIR}) <------ works as well]]
set(SOURCE_FILES main.cpp sample Item.cpp Item.h)
add_executable(assingment_5 ${SOURCE_FILES})
target_include_directories(assingment_5 PRIVATE ${CMAKE_CURRENT_SOURCE_DIR})