当我尝试在jsonCPP上使用cmake时,我收到以下错误
CMake Error at lib_json/CMakeLists.txt:73 (INSTALL):
install TARGETS given no ARCHIVE DESTINATION for static library target
"jsoncpp_lib_static"
我使用自述文件中的命令:
cmake -DCMAKE_BUILD_TYPE=debug -DJSONCPP_LIB_BUILD_STATIC=ON -DJSONCPP_LIB_BUILD_SHARED=OFF -G "Unix Makefiles" ../..
答案 0 :(得分:0)
从错误中看,你好像是将CMake指向" / jsoncpp / src"中的CMakeLists.txt。而不是#34; / jsoncpp"的根词。
根CMakeLists.txt定义this point处的变量ARCHIVE_INSTALL_DIR
,并在" /jsoncpp/src/lib_json/CMakeLists.txt"在this point定义目标ARCHIVE DESTINATION
。
由于您正在跳过根CMakeLists.txt,因此该变量永远不会被设置。
错误消息提到路径lib_json/CMakeLists.txt:73
,这与" main"相关。 CMakeLists.txt - 即你第一次执行它时指向CMake的那个。所以CMake认为根是" / jsoncpp / src"而不是真正的根。
基本上,为了修复你的错误,清理你的构建文件夹,然后重新运行CMake指向" / jsoncpp"文件夹中。
<小时/> 顺便说一句,虽然文档没有特别提及,但我认为CMAKE_BUILD_TYPE是区分大小写的。你应该做
-DCMAKE_BUILD_TYPE=Debug
。