【问题标题】:Verbose NMake Makefiles using CMake使用 CMake 的详细 NMake Makefile
【发布时间】:2014-06-26 22:56:57
【问题描述】:

我一直遵循常见问题解答中的说明:Is there an option to produce more 'verbose' compiling?。我现在有:

$ cat C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/Platform/Windows.cmake
[...]
# uncomment these out to debug nmake and borland makefiles
set(CMAKE_START_TEMP_FILE "")
set(CMAKE_END_TEMP_FILE "")
set(CMAKE_VERBOSE_MAKEFILE 1)

然后我重新生成我的项目,并运行 nmake:

> cmake --version
cmake version 2.8.12.2

> cmake -G"NMake Makefiles" ..\project
> nmake VERBOSE=1
[...]
[ 73%] Building CXX object apps/foobar/CMakeFiles/bla.dir/my.cpp.obj
    cd C:\Dashboards\MyTests\project-build-debug-vista32-nightly\apps\foobar
    C:\PROGRA~1\MICROS~1.0\VC\bin\cl.exe  @C:\Users\voxxl\AppData\Local\Temp\nm1362.tmp

有没有办法访问完整的cl 命令行?

【问题讨论】:

  • C:\Users\voxxl\AppData\Local\Temp\nm1362.tmp有什么东西吗?
  • nm1362.tmp: 没有这样的文件或目录
  • 对我来说,取消注释上面显示的三行就可以了。一旦取消注释,就会显示完整的 cl 命令行。也许这是在 OP 之后修复的。

标签: cmake nmake


【解决方案1】:

在 Windows(XP 或更高版本)上,命令行的长度限制为 8,191 字节。

Windows 编译器工具集通过在命令行上允许使用 @filepath 语法来解决这个问题。

所以 VERBOSE=1 在 Windows 上用处不大。但是你总是可以在生成的 *.make 文件中检查命令行

例如(问题中使用的路径):

apps/foobar/CMakeFiles/bla.dir/build.make 应用程序/foobar/CMakeFiles/bla.dir/flags.make

【讨论】:

  • 我们如何为 Visual Studio 生成器启用详细日志?
猜你喜欢
  • 1970-01-01
  • 2015-04-27
  • 1970-01-01
  • 1970-01-01
  • 2018-07-17
  • 1970-01-01
  • 2012-10-18
  • 2011-08-08
  • 1970-01-01
相关资源
最近更新 更多