Linux 中,如何显示 (gcc)make时实际执行命令
问题:
调试编译问题,如何获取,GCC(或许make)时,实际编译器和链接器正在执行的命令?
解决方法:
方法一:通用方法
使用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.
方法二:特定方法,适用于使用autotools产生的库makefile文件
使用autotools(你必须发布./configure)产生的库makefile文件常常有一个verbose选项,所以基本上,使用
make VERBOSE=1 或 make V=1
你将获取到全部命令。但是这取决于makefile产生的方式。
make命令的-d选项可能会有帮助的,但是会有很长的输出,而且也不是实际运行的命令,而是大量的调试信息。
-d 选项
Print lots of debugging information
参考资料:
How do I force make/gcc to show me the commands?
http://stackoverflow.com/questions/5820303/how-do-i-force-make-gcc-to-show-me-the-commands