我试图编译升压日志库,我不断从dump_avx2.cpp
文件错误编译Boost.Log
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
为Boost.Log子模块从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
文件,我必须编译只是其中之一?我真搞不懂怎么从的Jamfile在build
文件夹:(
对不起,我不认为我遵循你所说的:(对于不编译的东西的问题的解决方案是什么? – Curious
将问题报告给编译器开发人员。除非你想修改它。如果你这样做,你应该修改'libs/log/build/Jamfile.v2'文件,'avx2-targets-cond'规则。注释或删除第一行和最后一行以外的内容(即规则应返回'否')。这将从建筑物中排除图书馆的AVX2部分。 –
最后一件事,所以如果我建立没有'dump_avx2.cpp'文件的库,那么它会像平常一样工作,没有任何副作用? – Curious