我正在使用这个目录结构进行一个项目。
WeaselTestApp
--build
...
--weasel
...
--CMakeLists.txt
--main.cpp
--CMakeLists.txt
--conanfile.txt
字符串
根CMakeLists.txt文件内容
cmake_minimum_required(VERSION 3.16)
project(WeaselTestApp LANGUAGES CXX)
add_executable(WeaselTestApp main.cpp)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
enable_testing()
add_subdirectory(weasel)
target_link_libraries(WeaselTestApp PRIVATE Weasel)
型
weasel CMakeLists.txt文件内容
add_library(Weasel Utils.cpp HttpMethod.cpp HttpStatus.cpp Request.cpp Response.cpp Router.cpp Server.cpp)
include_directories(${CONAN_INCLUDE_DIRS_JSONCPP})
set(jsoncpp_DIR "/home/emmanuel/weasle/build")
find_package(jsoncpp REQUIRED)
target_link_libraries(Weasel PRIVATE jsoncpp)
型
根conanfile.txt文件内容
[requires]
jsoncpp/1.9.5
gtest/1.11.0
[generators]
CMakeDeps
CMakeToolchain
cmake_find_package
型
当我运行命令cmake --build /home/user/weasle/build
时,我得到这个错误
[ 10%] Building CXX object weasel/CMakeFiles/Weasel.dir/Utils.cpp.o
[ 20%] Building CXX object weasel/CMakeFiles/Weasel.dir/HttpMethod.cpp.o
[ 30%] Building CXX object weasel/CMakeFiles/Weasel.dir/HttpStatus.cpp.o
[ 40%] Building CXX object weasel/CMakeFiles/Weasel.dir/Request.cpp.o
In file included from /home/user/weasle/weasel/Request.cpp:1:
/home/user/weasle/weasel/Request.h:5:10: fatal error: json/json.h: No such file or directory
5 | #include <json/json.h>
| ^~~~~~~~~~~~~
compilation terminated.
gmake[2]: *** [weasel/CMakeFiles/Weasel.dir/build.make:118: weasel/CMakeFiles/Weasel.dir/Request.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:126: weasel/CMakeFiles/Weasel.dir/all] Error 2
gmake: *** [Makefile:101: all] Error 2
型
如何在项目中正确使用jsoncpp
包,我计划将来将weasel文件夹的内容作为一个包,所以我不想在根cmake文件夹中包含jsoncpp包。
1条答案
按热度按时间carvr3hs1#
如何在项目中正确使用
jsoncpp
包这样做
字符串