无法包含库Clion中的文件

时间:2018-03-30 18:40:17

标签: c++ json cmake clion

我一直在尝试为学校项目包含现代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})

1 个答案:

答案 0 :(得分:2)

对于简单,我开始使用这个标题:

我在当前目录中有一个标题,它提供了一个简单的CMakeLists.txt。毕竟,我只是想探索

enter image description here

enter image description here

现在,您可以像这样使用所描述的using声明并关闭并运行。

enter image description here