如何为 gcc
和 clang
添加二进制剥离作为后处理步骤,但仅限于发布版本? MSVC
默认为条带,因此不必处理 .
其中一个问题是 clang
没有 -s
编译标志,但 gcc
确实so doing it this way不起作用 .
另一个想法是使用strip命令 . -s
开关再次出现在 Linux
上但不出现在 XCode
上(这是 Apple
的开发工具链) .
所以最后的选择是使用 strip
命令,除了二进制本身之外没有任何参数,这似乎是一个不错的通用解决方案 . 如何在 CMake
中使用它?
1 回答
在
CMake
add_custom_command
中可以执行post构建命令,例如strip
.PROJECT_NAME
变量被定义为目标二进制文件,例如在
CMakeLists.txt
的add_executable
之后放置以下代码:CMAKE_BUILD_TYPE
表示构建类型,如Debug
或Release
.CMAKE_STRIP
是平台strip
实用程序的文件路径(例如Linux
上的/usr/bin/strip
) .