当我包含标准库时,CMake会创建巨大的二进制文件

问题描述

我刚刚使用Cmake在C ++中创建了一个Helloworld。 预期输出二进制为10KB。 当我不使用任何字符串在主 添加#include <string>时,生成的二进制文件将变为100KB。

当我手动编译相同的main.cpp文件gcc main.cpp -o helloworld时,输出二进制文件的大小相同,有无#include <string>

是否使用任何Cmake关键字以允许输出二进制文件动态地包含所有内容,而不是在内部包含所有库?

解决方法

我遇到了问题。 在我的CMakeLists.txt文件中

y_i <= y_{i-1} + x_{i-1}

所以

y_1 = 0

没有任何作用。

我刚刚删除了add_compile_options(-Wall -Werror -std=c++17 -g) 参数,并且Debug符号从输出二进制文件中消失了