当我包含一个标准库时,CMake 会创建巨大的二进制文件
CMake creates huge binary when I incude a standard library
我刚刚使用 Cmake 在 C++ 中创建了一个 Helloworld。
正如预期的那样,输出二进制文件为 10KB。
当我在 main 中添加 #include <string>
而没有使用任何字符串 时,生成的二进制文件变为 100KB。
当我手动编译相同的 main.cpp 文件 gcc main.cpp -o helloworld
时,输出的二进制文件具有相同的大小,有或没有 #include <string>
是否有任何 Cmake 关键字可用于允许输出二进制文件动态包含所有内容,而不是在内部包含所有库?
我遇到了问题。
在我的 CMakeLists.txt 文件中存在
add_compile_options(-Wall -Werror -std=c++17 -g)
所以
-DCMAKE_BUILD_TYPE=Release
没有任何影响。
我刚刚删除了 -g
参数并且调试符号从输出二进制文件中消失了
我刚刚使用 Cmake 在 C++ 中创建了一个 Helloworld。
正如预期的那样,输出二进制文件为 10KB。
当我在 main 中添加 #include <string>
而没有使用任何字符串 时,生成的二进制文件变为 100KB。
当我手动编译相同的 main.cpp 文件 gcc main.cpp -o helloworld
时,输出的二进制文件具有相同的大小,有或没有 #include <string>
是否有任何 Cmake 关键字可用于允许输出二进制文件动态包含所有内容,而不是在内部包含所有库?
我遇到了问题。 在我的 CMakeLists.txt 文件中存在
add_compile_options(-Wall -Werror -std=c++17 -g)
所以
-DCMAKE_BUILD_TYPE=Release
没有任何影响。
我刚刚删除了 -g
参数并且调试符号从输出二进制文件中消失了