- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
时-6ren"> 时-我正在尝试使用 cmake 编译一些 C++ 代码并使用 include 并得到以下 make 错误: #error "SSE2 instruction set not enabled" 我有一个带-6ren">
我正在尝试使用 cmake 编译一些 C++ 代码并使用 include <emmintrin.h>
并得到以下 make 错误:
#error "SSE2 instruction set not enabled"
我有一个带有 Linux (Mint) 系统(内核 3.5)的 Intel Celeron 双核处理器。
根据维基百科,赛扬双核能够执行 SSE2 指令,并且根据 /proc/cpuinfo
设置了 sse2 标志。 .但是this question的作者|提到了对 Intel Celeron 的有限 SSE 支持。
我已经尝试在我的 CMakeLists.txt
中使用 SSE 编译器选项:
set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-msse -msse2 -msse3")
..但没有任何改变。 cmake .
工作正常但是make
给出上面的错误信息。
我是否必须更改 CMakeLists.txt 中的设置,或者赛扬双核是否根本不(完全)支持 SSE2?
最佳答案
你需要打电话
<strike>set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} "-msse -msse2 -msse3")</strike>
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -msse -msse2 -msse3")
CMAKE_C_FLAGS
应用于 C 文件,从你帖子的 C++ 标签来看,我猜你正在编译 C++ 文件,因此需要更改 CMAKE_CXX_FLAGS
相反。
至于引号的定位;在您的原始版本中,您正在设置 CMAKE_C_FLAGS
包含 2 个单独的条目,第一个是 CMAKE_C_FLAGS
的起始值第二个是字符串 "-msse -msse2 -msse3"
.
CMake 将这样的列表保存为分号分隔的条目。在CMAKE_<lang>_FLAGS
的情况下,它们总是由包含所有必需标志的字符串组成的单个值。
关于c++ - #error "SSE2 instruction set not enabled"包含 <emmintrin.h> 时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16410149/
下面的代码 #include int main(void) { std::cout 时 clang 编译失败 In file included from test.cpp:2: In fi
我正在尝试在我的 Raspberry Pi 3 B 型上编译 PJSIP(版本 2.6)。 运行时 make dep && make ,我收到此错误: ../../webrtc/src/webrtc/
试过谷歌并在这里搜索,但没有成功。 我正在尝试移植一些用于 Linux 的 Windows 代码。 然后我得到了大量的编译错误。 我所做的只是 #include 然后: g++ -c -pipe -
我正在尝试使用 cmake 编译一些 C++ 代码并使用 include 并得到以下 make 错误: #error "SSE2 instruction set not enabled" 我有一个带
由于 Clang 3.7 中的 emmintrin.h 头抛出错误,NSS 中的 freebl 库无法正确构建(作为 Firefox 的一部分),我认为这些错误是由于缺少 -msse2 标志造成的。即
我是一名优秀的程序员,十分优秀!