【问题标题】:Error with cmake and jsonCPP static library target "jsoncpp_lib_static"cmake 和 jsonCPP 静态库目标“jsoncpp_lib_static”出错
【发布时间】:2015-03-17 21:41:14
【问题描述】:

当我尝试在 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" ../..

【问题讨论】:

    标签: cmake jsoncpp


    【解决方案1】:

    从错误来看,您似乎将 CMake 指向“/jsoncpp/src”中的 CMakeLists.txt,而不是“/jsoncpp”中的根目录。

    根 CMakeLists.txt 在this point 处定义变量ARCHIVE_INSTALL_DIR,并在this point 处的“/jsoncpp/src/lib_json/CMakeLists.txt”中使用它来定义目标的ARCHIVE DESTINATION

    由于您要跳过根 CMakeLists.txt,因此永远不会设置此变量。

    错误消息提到了路径lib_json/CMakeLists.txt:73,这与“主要”CMakeLists.txt 相关 - 即您在第一次执行 CMake 时将其指向的路径。所以 CMake 认为根是“/jsoncpp/src”而不是真正的根。

    基本上,要修复您的错误,请清理您的构建文件夹,然后重新运行 CMake 以指向“/jsoncpp”文件夹。


    顺便说一句,虽然文档没有特别提到它,但我认为CMAKE_BUILD_TYPE 是区分大小写的。你应该做-DCMAKE_BUILD_TYPE=Debug

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多