CMake Remove /arch:sse2 for Visual Studio 2013
CMake Remove /arch:sse2 for Visual Studio 2013
我现在正在处理的项目使用CMake生成x64 visual studio 2010项目。目前我正在将其转换为x64 visual studio 2013。
大多数东西都刚刚正确就位,但我收到了以下警告:
cl : Command line warning D9002 : ignoring unknown option '/arch:SSE2'
跟踪此问题,visual studio 2013似乎不再支持x64项目的/arch:SSE2
,因为默认情况下使用此扩展。
我已经搜索了我们的各种CMakeLists.txt
(我们在每个项目中都有,一个用于整个解决方案),但我们没有设置标志,所以我假设这是在CMake中默认设置的。
在visual studio中,我可以转到project > properties > C/C++ > Code Generation > Enable Enhanced Instruction Set
并将其设置为"未设置",一切都可以正常工作,没有任何警告。
如何在CMakeLists.txt
中执行此操作?
我已经看到了几种设置变量的方法,通常是类似set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /arch:SSE2")
的方法,但这不能用于删除标志(至少我不知道)。
您可以尝试使用字符串操作删除此标志:
string(REPLACE "/arch:SSE2" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
如果这不起作用,那么试着使用一个临时变量:
string(REPLACE "/arch:SSE2" "" OUT_VAR ${CMAKE_CXX_FLAGS})
set(CMAKE_CXX_FLAGS ${OUT_VAR} CACHE)
相关文章:
- 设置 Visual Studio for MPI: 找不到标识符错误
- Clang Tidy 插件 for Visual Studio Code 不起作用/如何设置
- 如何在 CMakeLists.txt for Visual Studio 2019 中启用 clang-tidy?
- 如何在 FOR 语句中间阻止 Visual Studio 2017 c++ 自动完成)?
- graphics.h for microsoft visual studio community 2017
- C++编译Qt for Visual Studio 2017的问题
- SFML 2.4.2 for Visual C++ 2017 使用 SFML 的 2015 版本
- building boost 1.64 for Visual Studio 2017
- 在 CMake for Visual Studio 2010 中定义宏"disallow copy and assign"
- PThreads for visual studio express 2010
- Compiling Qt 4.8.x for Visual Studio 2012
- 如何在 Windows for Visual Studio 2005 上设置 WXWIDGETS
- Visual Studio 2015 for Visual Studio 6 Code Compatibility
- OpenMP 3.0 for Visual Studio
- In Search of Library for Visual Studios 2013, Where and How to Get
- QT Addin for Visual Studio 2013
- CMake Remove /arch:sse2 for Visual Studio 2013
- C++ Standard for Visual Studio 2015
- 为什么 Bing Maps for Visual Studio 2013 C++无法打开?
- Build cgicc-3.2.16 for Visual Studio 2013