编译器标志之间的CMake生成的分号会导致错误

时间:2017-10-15 08:27:25

标签: cmake compiler-flags

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

0 个答案:

没有答案
相关问题