我使用 CMake 跨 Windows、OSX 和 Linux 生成构建文件(makefile 或项目文件),并使用这些平台原生的 C 和 C++ 编译器。在 Windows 上,我生成 VS 2010 项目,并在发布配置中发生以下错误:
命令行错误 D8016:“/ZI”和“/Ob2”命令行选项不兼容
显然,CMake 会生成不兼容的优化和调试信息选项。这是默认的 CMake 配置,我没有设置任何特殊标志。
我通过在 Visual Studio 的项目选项中将 /ZI 更改为 /Z7 来解决此问题,但这使得设置连续集成系统很烦人——我需要添加脚本来修改项目文件。
我可以强制 CMake 生成 /Z7(C7 兼容调试信息)而不是 /ZI 吗?
另外,我怎样才能让它只在发布配置中而不是在调试中生成呢?