【发布时间】:2020-06-27 03:04:36
【问题描述】:
我使用cmake 来管理我的项目的构建过程。每次我想重建它时,我需要做的只是cmake .. & make -j8,它工作得很好。
但我注意到,make 命令通常想输出很多错误然后最终停止。
这有点烦人:因为在大多数情况下,第一个 error 很重要,并且本质上是另一个 errors 的来源。
如何让 cmake 生成的 makefile 在第一个错误处停止,而不是继续做其他事情?
欢迎提出任何建议。
更新 1:
在@Kitsu 的帮助下,我能否意识到主要职责是在make -j8。如果我改用make -j1,make 将在第一个错误处停止。
但是如果我们编译一个大项目,-j8 通常是有意义的...这里有没有其他方法可以告诉make 线程的完整集意识到,这是一个错误并立即停止自己?: )
【问题讨论】:
-
请注意,您不必每次都手动运行
cmake。你只需要运行一次,然后你可以运行make多次。如果 CMakeLists.txt 文件发生更改,那么下次您运行make时,它将自动为您重新运行 cmake。 -
感谢指出!直到今天我才知道...
-
嗨@MadScientist,刚才我测试了你的方法!我在 Ubuntu 18.04 LTS 上使用 cmake 3.10.2 和 GNU Make 4.1。但是当我在我的项目中添加一个新的 src 文件时,似乎只是
make没能赶上它...... -
“添加新的 src 文件”我假设您的意思是您编辑了
CMakeLists.txt文件并将该文件添加到与 add_executable 或 add_library 函数?我使用 CMake 已经 7 年了,而且每次都绝对有效。 -
Ummmm,很抱歉我只在
CMake上工作了 1 年...比你的要短得多:) 可能是因为我使用了很多aux_source_directory来自动获取我的源列表导致CMake无法自行刷新。