加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – CMake:如何禁用单个* .cpp文件的优化?

发布时间:2020-12-16 07:14:11 所属栏目:百科 来源:网络整理
导读:我想在我的CMake项目中禁用单个* .cpp文件的优化.我发现CMake提供了以下内容来实现这一目标: SET_SOURCE_FILES_PROPERTIES(${FILE} PROPERTIES COMPILE_FLAGS -O0) 但是,这似乎对我不起作用.我生成一个Visual Studio 2013项目,每当我更改为’Release’或’R
我想在我的CMake项目中禁用单个* .cpp文件的优化.我发现CMake提供了以下内容来实现这一目标:

SET_SOURCE_FILES_PROPERTIES(${FILE} PROPERTIES COMPILE_FLAGS -O0)

但是,这似乎对我不起作用.我生成一个Visual Studio 2013项目,每当我更改为’Release’或’RelWithDebInfo’时,它仍然完全优化该文件,如属性下所示.

放置上述命令的位置是否重要?我在整个项目中分发了多个cmake文件.我将上面的命令直接放在cmake文件中,其中* .cpp文件被添加到项目中.

或者有没有其他方法告诉CMake这个文件根本不应该优化?

解决方法

谢谢Tsyvarev!

实际上,我必须将命令放在cmake文件中,其中包含相应的add_library()以使其工作.

但另外还有一点我必须应用的变化:Visual Studio需要-Od(而不是-O0)来禁用优化.

因此,Visual Studio构建的最终命令如下所示:

SET_SOURCE_FILES_PROPERTIES(${FILE} PROPERTIES COMPILE_FLAGS -Od)

这放在cmake文件中,其中add_library()调用该* .cpp文件.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读