当前位置: 首页 > 面试题库 >

在执行之前制作CMake打印命令

谷梁昊空
2023-03-14
问题内容

我正在使用Linux上的CMake构建的大型C ++项目。CMake运行正常,在模块和应用程序树中生成大量的Makefile。运行GNU
make会导致链接器错误。我如何make在运行命令之前先打印出确切的命令?

-d选项不会打印命令,但是很多信息并没有帮助。

-n选项显示所有命令,但不运行它们,因此我无法确定问题出在哪里。从make -n检查stdout,我看不到任何相关的命令。我怀疑某些命令会根据早期命令的结果进行更改,并且Makefile的层次结构使您很难分辨出实际情况。

我没有在make的 手册 页中看到其他似乎有用的选项。


问题答案:

我相当确定这会起作用:

make VERBOSE=1

您还应该能够将其添加到CMakeLists.txt中,以将其永久设置为:

set(CMAKE_VERBOSE_MAKEFILE on)

CMake常见问题解答对此进行了介绍。



 类似资料:
  • 例子 $ gcc -### foo.c Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/4.6/lto-wrapper Target: x86_64-linux-gnu Configured with: ../src/configure -v --with-pkgvers

  • 如果你希望在每次运行 Puppet 之前执行命令,可以在配置文件中使用 prerun_command 配置。 类似地,你也可以使用 postrun_command 配置运行 Puppet 之后需要执行的命令。 这种机制为 Puppet 与其他软件的集成提供了强大的钩子,甚至可以触发其他机器上的事件。 prerun 和 postrun 命令必须能成功运行(即其返回的状态码为 0),否则 Puppet

  • 当在下面运行时,将打开代码提示符,并显示java版本信息。我想打印java版本信息。请帮帮我

  • 问题内容: 我有一个python脚本test.py: 在linux命令行上执行 返回: 然后执行 哪个返回 如何重定向输出使os.system调用在print语句之前打印? 问题答案: 当您输出到管道时,Python缓冲写入的输出,并在刷新,溢出,关闭后(程序退出时)输出。虽然它将缓冲打印调用,但系统调用输出将直接输出到stdout中,并且其输出将不会被缓冲。这就是为什么您会看到这样的优先级。为了

  • 问题内容: 在Unix上,我可以使用\r(回车\b键)或(退格键)覆盖Shell中的当前行(在已经可见的文本上打印)。 我可以通过Python脚本在Windows命令行中实现相同的效果吗? 我尝试了curses模块,但Windows上似乎不可用。 问题答案: 是:

  • 问题内容: 该程序输出- 它不应该提供输出- 因为首先ai应该打印1,然后执行a.getI()并应该打印A 2 问题答案: 在此表达式中: 首先评估对的调用,然后通过连接加号形成字符串