我試圖編譯升壓日誌庫,我不斷從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