跳转至

编译时显示详细命令

.

1. make

先用

Text Only
执行命令cmake时追加:-DCMAKE_VERBOSE_MAKEFILE=ON
在CMakeLists.txt中添加:set(CMAKE_VERBOSE_MAKEFILE ON)

1.1 make编译打印详细日志(部分有效,可以先试试)

特定方法,适用于使用autotools产生的库makefile文件

使用autotools(你必须发布./configure)产生的库makefile文件常常有一个verbose选项,所以基本上,使用

make VERBOSE=1 或 make V=1

你将获取到全部命令。但是这取决于makefile产生的方式。

make命令的-d选项可能会有帮助的,但是会有很长的输出,而且也不是实际运行的命令,而是大量的调试信息。

-d 选项

Print lots of debugging information

Bash
make clean
常用的是 make V=1
make V=0    quiet build (default)
make V=1    verbose build
make V=2    give reason for rebuild of target

make VERBOSE=1   // 已试可用
make VERBOSE=2   // 已试可用

1.2 make打印命令行不编译

Bash
make clean
make -n   // 已试可用

make -n V=1



使用dry run,如下

    $ make -n

这将显示make 命令正在试图做的事情。

通过 $ make -h 命令,查看帮助可知,make -n实际并不运行任何命令,只是把make试图做的事情显示出来。

同一命令的等价参数

-n, --just-print, --dry-run, --recon

         Don’t actually run any commands; just print them.

2. cmake

Bash
执行命令cmake时追加:-DCMAKE_VERBOSE_MAKEFILE=ON
在CMakeLists.txt中添加:set(CMAKE_VERBOSE_MAKEFILEON ON)
cmake --trace
cmake --trace-expand

3. 直接修性makefile文件

Bash
在全局的地方(定义之后,最后一次修改之后即可),写以下内容
详细到CC1和头文件,不是想要的gcc,而是cc1as等,可以用gcc -v test.cpp,就知道输出是什么
CFLAGS    += -v
CXXFLAGS  += -v
LDFLAGS   += -v
PFLAGS    += -v
Bash
cmake .. -DCMAKE_C_FLAGS="-O0 -g3"  -DCMAKE_CXX_FLAGS="-O0 -g3"
make --trace