【问题标题】:How do I enable the SSE/SSE2 instruction set in Visual Studio 2008 (using CMake)?如何在 Visual Studio 2008 中启用 SSE/SSE2 指令集(使用 CMake)?
【发布时间】:2010-12-01 15:24:39
【问题描述】:

在 Visual Studio 2005 中,我进入了:

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

但在 Visual Studio 2008 中?

提前致谢

【问题讨论】:

    标签: c++ visual-studio-2008 cmake


    【解决方案1】:

    它是Project->Properties...(与上面相同的路径)

    【讨论】:

    • 感谢您的回复。我试过了,但在 Project --> Properties 我有: - Common Properties + Startup Project + Project Dependencies + Debug Source Files - Configuration Properties + Configuration 我没有找到指令集的任何选项。
    【解决方案2】:

    如果您正在寻找 SSE/SSE2:Project > Properties > Configuration Properties > C/C++ > Code Generation > Enable Enhanced Instruction Set,或在Command Line > Additional Options 中附加/arch:SSE(或/arch:SSE2)。

    不过,您需要有一个原生项目,并至少添加一个 .cpp 文件才能访问它。

    【讨论】:

    • 非常感谢!它不是原生项目,但我使用 CMake 创建它。
    • 如果您使用 CMake 重新生成项目文件,则使用此方法时将不会存储设置。有关永久修复的详细信息,请参阅我的答案...
    • @CatPlusPlus : 下Project > Properties > Configuration Properties我只有configuration
    【解决方案3】:

    如果您使用的是内联汇编程序__asm { .... },则不需要启用它。

    但如果启用 SSE,则必须小心。可能是代码比普通的 FPU 代码慢。

    【讨论】:

      【解决方案4】:

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

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

      /arch:SSE2

      【讨论】:

      • warning: D9002 : ignoring unknown option '/arch:SSE2'
      • @mchiasson:如果您在构建x64 代码时尝试启用/arch:SSE2 选项,您将看到此消息。这基本上告诉你你不需要它。 SSE/SSE2default in x64 builds 使用。
      猜你喜欢
      • 1970-01-01
      • 2011-02-16
      • 1970-01-01
      • 2012-02-27
      • 1970-01-01
      • 2013-06-11
      • 2021-08-10
      • 2013-04-30
      • 2012-04-28
      相关资源
      最近更新 更多