cmake查看依赖

2020-04-26

使用嵌入式开发,我们解决问题的时候,常常需要只把源码进行预处理,或者让它生成汇编文件,而不是生成目标文件。可是当我们使用cmake的时候,cmake在编译之前会进行test,test的目的是看能否生成目标文件,以确保编译参数等正确。

这就很烦了,如果我们加了-E,或者-S参数,很显然生成的是中间文件,而不是目标文件了。因此,cmake会直接终止编译,并报错!

更多信息请参看:cmake官网

报错信息,如图所示:

1

因此,需要跳过这个test步骤。通过报错信息看到,问题就出在:CMakeTestCCompiler.cmake:60,因此,找到该文件:先做好备份,然后直接把里面的内容清空。执行cmake,发现报了新的错误:

2

通过报错信息看到,CMakeTestCXXCompiler.cmake:53,这个文件又报错了,但之前的CMakeTestCCompiler正确了。即CCompiler测试通过,但CXXCompiler还没有过!因此,同样找到该文件:先做好备份,然后直接把里面的内容清空。执行cmake,成功编译!

3

当然,别看后缀是.o,其实里面放的都是预处理文件呢~