在Vc项目中,OptimizeForArchitecture.cmake用于优化特定体系结构的编译。
在我的项目中,我使用了上述文件的旧版本。在我将其更新到最新版本后,flags.make
文件中的编译标志具有以分号分隔的以下标志:
-march=broadwell;-msse2;-msse3;-mssse3;-msse4.1;-msse4.2;-mavx;-mfma;-mbmi2;-mavx2
在编译时会产生以下错误:
/bin/sh: 1: -msse2: not found
/bin/sh: 1: -msse3: not found
/bin/sh: 1: -mssse3: not found
/bin/sh: 1: -msse4.1: not found
/bin/sh: 1: -msse4.2: not found
/bin/sh: 1: -mavx: not found
/bin/sh: 1: -mfma: not found
/bin/sh: 1: -mbmi2: not found
/bin/sh: 1: -mavx2: not found
在编译Vc项目时,标志之间没有分号。
这个问题的可能原因是什么?
flags.make
文件示例:build/release/CMakeFiles/tungsten.dir/flags.make
CXX_FLAGS = -std=c++0x -march=broadwell;-msse2;-msse3;-mssse3;-msse4.1;-msse4.2;-mavx;-mfma;-mbmi2;-mavx2 -mno-sse4a -mno-xop -mno-fma4 -mno-avx512f -mno-avx512vl -mno-avx512pf -mno-avx512er -mno-avx512cd -mno-avx512dq -mno-avx512bw -mno-avx512ifma -mno-avx512vbmi -Wall -Wextra -Wpointer-arith -Wcast-align -fstrict-aliasing -Wno-unused-local-typedefs -Wno-misleading-indentation -Wno-maybe-uninitialized -Wno-int-in-bool-context -Wno-implicit-fallthrough -fvisibility-inlines-hidden -O3 -DNDEBUG