如何在GCC中禁用SSE?

如何在GCC中禁用SSE?,gcc,arm,debian,sse,Gcc,Arm,Debian,Sse,我正在尝试用debian(挤压,armel)制作一个包。问题是,我的GCC似乎设置了ARM上不支持的-msse2,我不知道如何禁用它。如何更改GCC的默认标志以禁用此功能?谢谢 完全错误: Building CXX object frameworks/CoreLib/CMakeFiles/.....cpp.o cc1plus: error: unrecognized command line option "-msse2" make[2] \*\*\* [fframeworks/CoreLi

我正在尝试用debian(挤压,armel)制作一个包。问题是,我的GCC似乎设置了ARM上不支持的-msse2,我不知道如何禁用它。如何更改GCC的默认标志以禁用此功能?谢谢

完全错误:

Building CXX object frameworks/CoreLib/CMakeFiles/.....cpp.o

cc1plus: error: unrecognized command line option "-msse2"

make[2] \*\*\* [fframeworks/CoreLib/CMakeFiles/.....cpp.o] Error 1

make[1] \*\*\* [frameworks/CoreLib/CMakeFiles/.....dir/all] Error 2

make \*\*\* [all] Error 2

问题是,没有一个文件提到在任何地方都有-msse2,这就是为什么我认为编译器可能是罪魁祸首。

MMX、SSE和SSE2是特定于Intel/AMD的扩展,ARM不支持,ARM有自己的NEON SIMD扩展。在我看来,您似乎正在尝试为ARM交叉编译一个程序,并使用本机toochain,因此您需要一个用于目标平台的工具链。下面是一个关于如何安装ARM工具链的示例,可能会有所帮助


编辑:现在我看到了错误,Makefile正在将
-msse2
传递给gcc,您应该阅读编译该包的说明,看看这是否可行。

MMX、SSE和SSE2是特定于Intel/AMD的扩展,在ARM上不受支持,ARM有自己的NEON SIMD扩展。在我看来,您似乎正在尝试为ARM交叉编译一个程序,并使用本机toochain,因此您需要一个用于目标平台的工具链。下面是一个关于如何安装ARM工具链的示例,可能会有所帮助


编辑:现在我看到了错误,Makefile正在将
-msse2
传递给gcc,您应该阅读编译该包的说明,看看这是否可行。

如果其他人最终出现在这里:
我在一个类似的pbm中运行,这是因为配置脚本没有正确处理arm案例。对我有效的解决方案是运行
configure
,使用选项
--disable-sse2

,以防其他人出现在这里:

我在一个类似的pbm中运行,这是因为配置脚本没有正确处理arm案例。对我有效的解决方案是使用选项
--disable-sse2

运行
configure
,ARM上不支持所有x86,而不仅仅是SSE。解决方案:实际上是为ARM编译。我知道,但我仍然想在我的ARM系统上禁用sse标志;我该怎么做?你安装了ARM交叉编译器吗?你确定一个正在被使用吗(即,它是不是在原生路径之前)?我,呃…我刚刚得到了安装gcc。这不对吗?对不起,我对从源代码构建东西还很陌生。@请问您编译的是哪种ARM?ARM上不支持所有x86,不仅仅是SSE。解决方案:实际上是为ARM编译。我知道,但我仍然想在我的ARM系统上禁用sse标志;我该怎么做?你安装了ARM交叉编译器吗?你确定一个正在被使用吗(即,它是不是在原生路径之前)?我,呃…我刚刚得到了安装gcc。这不对吗?对不起,我对从源代码构建东西还很陌生。@Will您编译的是哪种ARM?谢谢您的回复!我肯定安装了armel版本的gcc,这就是为什么我对设置sse标志感到困惑的原因。我只想从默认的命令行选项中去掉“-msse2”。@如果工具链是用于ARM的,那么就不应该有该选项,您是否会错过这一点all@Will可能是您没有调用正确的gcc,它应该被称为
arm xxx xxx gcc
/usr/lib/gcc中的文件夹是“arm linux gnuabi”,所以我认为这是一个手臂工具链。可能在我试图构建的文件中调用了该选项。无论如何,感谢您的帮助。@将在命令行上尝试
arm-none-linux-gnueabi-gcc
arm-linux-gnueabi-gcc
。谢谢您的响应!我肯定安装了armel版本的gcc,这就是为什么我对设置sse标志感到困惑的原因。我只想从默认的命令行选项中去掉“-msse2”。@如果工具链是用于ARM的,那么就不应该有该选项,您是否会错过这一点all@Will可能是您没有调用正确的gcc,它应该被称为
arm xxx xxx gcc
/usr/lib/gcc中的文件夹是“arm linux gnuabi”,所以我认为这是一个手臂工具链。可能在我试图构建的文件中调用了该选项。无论如何,感谢您的帮助。@将在命令行上尝试
arm-none-linux-gnueabi-gcc
arm-linux-gnueabi-gcc