当我在发布模式下使用 cmake 时,我有以下二进制文件:
64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=485ac09b0a3aa879f88b7f5db6c00ea8d8e1eaf6, not stripped
我希望剥离二进制文件。我如何以一种干净的方式对 cmake 说将 -s 选项添加到我的编译器以使其剥离?
为什么默认发布模式没有剥离我的二进制文件?
原文由 Fractale 发布,翻译遵循 CC BY-SA 4.0 许可协议
最简洁的方法是修改 CFLAGS 或 CXXFLAGS(取决于 C 或 C++ 代码)
但是,如果您不想更改构建系统,还有另外一种技巧(弄清楚将上述行放在何处可能会很棘手)。您可以将 strip 用作独立应用程序,例如:
并在可执行文件准备好作为构建后步骤发布后执行此操作。我发现这种方式更干净,然后扰乱了编译器标志。