如何在使用CMake的Visual Studio 2008中启用SSE / SSE2指令集?

15

在Visual Studio 2005中我进入了:

视图-->属性页-->C/C++-->代码生成-->启用增强指令集

但是在Visual Studio 2008中呢?

谢谢提前。

4个回答

39
如果你要寻找SSE / SSE2,则需要在“项目>属性>配置属性>C/C++>代码生成>启用增强指令集”中进行设置,或者在“命令行>附加选项”中添加/arch:SSE(或/arch:SSE2)。
但是,为了能够访问此功能,您需要具有本机项目和至少一个 .cpp 文件。

非常感谢!这不是一个本地项目,但我使用CMake创建了它。 - Angelo
1
如果您使用CMake重新生成项目文件,则在使用此方法时不会存储设置。有关永久修复的详细信息,请参见我的答案... - larsmoa
@CatPlusPlus:在“项目 > 属性 > 配置属性”下,我只有“配置”。 - user2284570

14

使用CMake,您可以在CMakeLists.txt中添加以下内容:

IF(MSVC)
   ADD_DEFINITIONS(/arch:SSE)
ENDIF(MSVC)

或者 /arch:SSE2


2
warning: D9002 : ignoring unknown option '/arch:SSE2' - mchiasson
如果您在构建x64代码时尝试启用/arch:SSE2选项,您将看到此消息。这基本上告诉您不需要它。默认情况下,在x64构建中使用SSE / SSE2 - ahmd0

1

这是项目->属性...(与上面的路径相同)


谢谢您的回复。我尝试了一下,在“项目”→“属性”中,我有:
  • 公共属性
    • 启动项目
    • 项目依赖项
    • 调试源文件
  • 配置属性
    • 配置
我没有找到任何关于指令集的选项。
- Angelo

0
如果您正在使用内联汇编__asm { .... },则无需启用它。
但是,如果您启用了SSE,则必须小心。代码可能比普通FPU代码慢。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接