我有一组文件。在FreeBSD下用gcc49编译。默认的makefile,由我创建。嗯,这不是问题。
好的,我决定用CMake编译。
我的问题是,为什么这么大的差异。
我希望文件结束,尺寸很小,可以5mb。
如何制作我的5mb文件(使用cmake)
THX all
答案 0 :(得分:0)
在这两种情况下,您使用不同的选项调用编译器。
CMake已经为您设置了一堆最适合您项目的编译器和链接器选项。不幸的是,如果您不熟悉CMake,那么为什么要设置特定选项以及如何习惯性地更改它并不总是显而易见的。
对于Makefile生成器,要找出CMake传递给编译器的选项,可以在shell上调用VERBOSE
时设置make
环境变量:
$ VERBOSE=1 make
将CMake使用的命令与手动构建时使用的命令进行比较。一旦确定了罪魁祸首,请进一步研究如何使用CMake最佳地更改该特定构建选项。
答案 1 :(得分:0)
CMake默认构建 debug 配置。如果您还没有切换到 发布 ,则会将二进制文件构建为调试,从而导致大小增加。
您可以再次测试 发布 ,例如:
cd release_dir
cmake -DCMAKE_BUILD_TYPE=Release ..
make