当CMake命令失败时,是否有方法获取错误?
我正在编写一个脚本,开始使用当CMake命令失败时,是否有方法获取错误?,cmake,Cmake,我正在编写一个脚本,开始使用install命令(用于复制文件),但它不起作用。CMake configure/generate没有显示任何错误(即,它没有停止,也没有显示与此命令相关的警告/错误),并且该命令似乎不起作用,因为我没有看到任何正在复制的文件 由于我是新来的,我想知道: 如何判断安装失败(可能源目录错误,或者目标目录错误)?它似乎在默默地失败 是否有错误代码我可以检查,看看哪里出了问题 何时调用install?当我单击“配置”时?或者项目何时建成 我在Windows上。当您在CM
install
命令(用于复制文件),但它不起作用。CMake configure/generate没有显示任何错误(即,它没有停止,也没有显示与此命令相关的警告/错误),并且该命令似乎不起作用,因为我没有看到任何正在复制的文件
由于我是新来的,我想知道:
- 如何判断
安装失败(可能源目录错误,或者目标目录错误)?它似乎在默默地失败
- 是否有错误代码我可以检查,看看哪里出了问题
- 何时调用
?当我单击“配置”时?或者项目何时建成install
我在Windows上。当您在CMakeLists.txt中添加一个
install
命令时,会创建一个名为“install”的新目标
为了实际安装所选文件/目标,您需要构建此安装目标。它不是作为“全部”目标的一部分自动构建的
例如,如果您使用的是Visual Studio,“安装”目标应该出现在解决方案资源管理器的“CMakePredefinedTargets”文件夹中。仅选择此目标并构建它将导致生成解决方案并安装所选项目
如果构建或安装过程的任何部分失败,那么通知应该是显而易见的。对于一般问题,有很多方法可以从CMake获得更详细的输出-我刚刚了解了第三种严重错误:
- e、 g.
消息(状态“SQLITE3_LIB:${SQLITE3_LIB}SQLITE3_PATH:${SQLITE3_PATH}”)#打印SQLITE3_LIB和SQLITE3_PATH变量
- 运行
(使用make、make VERBOSE=1
with ninja等)以帮助您解决流程故障,例如ninja-v
cmake-DYOUR\u OPTION=“insert values”~/path/to/files/&&make VERBOSE=1
- 我只是使用
试图理解复制失败的原因strace/usr/bin/cmake-E copy\u directory$MY\u SOURCE\u PATH$MY\u DEST\u PATH
get_property(dirs DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY INCLUDE_DIRECTORIES)
foreach(dir ${dirs})
message(STATUS "dir='${dir}'")
endforeach()
这很有道理。要么我看得不够仔细,要么文档在描述这些细节方面做得不好。可能会有帮助吗?