编译错误 Boost.Log
Error compiling Boost.Log
我正在尝试编译 boost 日志库,但我不断从 dump_avx2.cpp
文件中收到此错误
error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function 'dump_data_avx2' that is compiled without support for 'sse4.2'
boost/boost/libs/log/src/dump_avx2.cpp:71:31: note: expanded from macro 'BOOST_LOG_AUX_MM_CONSTANTS'
const __m256i mm_char_0 = _mm256_set1_epi32(0x30303030);\
^
我收到很多与上面的错误非常相似的错误,它们都有相同的错误消息,但它们在文件中出现的位置不同,供参考我在提交哈希上 68701167a1020b0b4c47b76e31d3a3da9e2faf3f
对于从 github 存储库 (https://github.com/boostorg/boost)
中获取的 Boost.Log 子模块
有谁知道我该如何解决这个问题?我正在使用 C++14 编译器进行构建,这就是我键入 g++ --version
时得到的结果
Apple LLVM version 8.0.0 (clang-800.0.42.1)
谢谢!
注意 我应该澄清一下,在这种情况下,我需要单独编译这个库。
注意 似乎有两个相关的源文件dump_ssse3.cpp
和提到的dump_avx2.cpp
文件,我只需要编译其中一个吗?我无法从 build
文件夹中的 Jamfile 中确定要做什么:(
这看起来像是 clang (LLVM) 中的错误。首先,intrinsic 属于 AVX2,而不是 SSE4.2。其次,整个 dump_avx2.cpp
文件是使用 -mavx2 编译的,因此启用了所需的扩展。您可以在 b2 的错误消息中看到编译器开关。不,应该编译 dump_ssse3.cpp
和 dump_avx2.cpp
。该库对 CPU 中的可用指令进行运行时检测并选择正确的实现。
我正在尝试编译 boost 日志库,但我不断从 dump_avx2.cpp
文件中收到此错误
error: always_inline function '_mm256_set1_epi32' requires target feature 'sse4.2', but would be inlined into function 'dump_data_avx2' that is compiled without support for 'sse4.2'
boost/boost/libs/log/src/dump_avx2.cpp:71:31: note: expanded from macro 'BOOST_LOG_AUX_MM_CONSTANTS'
const __m256i mm_char_0 = _mm256_set1_epi32(0x30303030);\
^
我收到很多与上面的错误非常相似的错误,它们都有相同的错误消息,但它们在文件中出现的位置不同,供参考我在提交哈希上 68701167a1020b0b4c47b76e31d3a3da9e2faf3f
对于从 github 存储库 (https://github.com/boostorg/boost)
有谁知道我该如何解决这个问题?我正在使用 C++14 编译器进行构建,这就是我键入 g++ --version
Apple LLVM version 8.0.0 (clang-800.0.42.1)
谢谢!
注意 我应该澄清一下,在这种情况下,我需要单独编译这个库。
注意 似乎有两个相关的源文件dump_ssse3.cpp
和提到的dump_avx2.cpp
文件,我只需要编译其中一个吗?我无法从 build
文件夹中的 Jamfile 中确定要做什么:(
这看起来像是 clang (LLVM) 中的错误。首先,intrinsic 属于 AVX2,而不是 SSE4.2。其次,整个 dump_avx2.cpp
文件是使用 -mavx2 编译的,因此启用了所需的扩展。您可以在 b2 的错误消息中看到编译器开关。不,应该编译 dump_ssse3.cpp
和 dump_avx2.cpp
。该库对 CPU 中的可用指令进行运行时检测并选择正确的实现。