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

posted @ 2015-09-24 13:01  klchang  阅读(...)  评论(...编辑  收藏