error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch, adding -msse4.1 not enough
error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch, adding -msse4.1 not enough
我正在尝试将 cryptonote gui 钱包从 Linux (Fedora) 交叉编译到 Windows。
在没有任何附加标志的情况下进行编译时,出现此错误:
In file included from /home/etienne/Documents/Brokertech/bkc/brokercoins/guiwallet-win/cryptonote/src/crypto/slow-hash.c:9:0:
/usr/lib/gcc/i686-w64-mingw32/7.2.0/include/emmintrin.h:1290:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
_mm_xor_si128 (__m128i __A, __m128i __B)
^~~~~~~~~~~~~
/home/etienne/Documents/Brokertech/bkc/brokercoins/guiwallet-win/cryptonote/src/crypto/slow-hash.c:100:11: note: called from here
*tmp3 = _mm_xor_si128(*tmp3, tmp4);
然后我尝试为 C 和 CXX 添加 -msse4.1 标志,我仍然遇到同样的错误,但在不同的文件上:
In file included from
/home/etienne/Documents/Brokertech/bkc/brokercoins/guiwallet-win/cryptonote/src/crypto/slow-hash.c:10:0:
/usr/lib/gcc/i686-w64-mingw32/7.2.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
_mm_aesenc_si128 (__m128i __X, __m128i __Y)
^~~~~~~~~~~~~~~~
In file included from
/home/etienne/Documents/Brokertech/bkc/brokercoins/guiwallet-win/cryptonote/src/crypto/slow-hash.c:167:0:
/home/etienne/Documents/Brokertech/bkc/brokercoins/guiwallet-win/cryptonote/src/crypto/slow-hash.inl:159:21: note: called from here
xmminput[0] = _mm_aesenc_si128(xmminput[0], expkey[j]);
我不明白为什么该解决方案对第一个文件有效但现在被阻止了?
非常感谢!
您没有遇到同样的错误。您遇到了 2 个 完全不同的错误 。第一个内联失败是针对 SSE-2 128 位 XOR 指令,该指令通过添加 -msse4.1
得到解决。第二个是 AES NI 内在函数,我相信您需要 -maes
我正在尝试将 cryptonote gui 钱包从 Linux (Fedora) 交叉编译到 Windows。
在没有任何附加标志的情况下进行编译时,出现此错误:
In file included from /home/etienne/Documents/Brokertech/bkc/brokercoins/guiwallet-win/cryptonote/src/crypto/slow-hash.c:9:0:
/usr/lib/gcc/i686-w64-mingw32/7.2.0/include/emmintrin.h:1290:1: error: inlining failed in call to always_inline '_mm_xor_si128': target specific option mismatch
_mm_xor_si128 (__m128i __A, __m128i __B)
^~~~~~~~~~~~~
/home/etienne/Documents/Brokertech/bkc/brokercoins/guiwallet-win/cryptonote/src/crypto/slow-hash.c:100:11: note: called from here
*tmp3 = _mm_xor_si128(*tmp3, tmp4);
然后我尝试为 C 和 CXX 添加 -msse4.1 标志,我仍然遇到同样的错误,但在不同的文件上:
In file included from
/home/etienne/Documents/Brokertech/bkc/brokercoins/guiwallet-win/cryptonote/src/crypto/slow-hash.c:10:0:
/usr/lib/gcc/i686-w64-mingw32/7.2.0/include/wmmintrin.h:61:1: error: inlining failed in call to always_inline '_mm_aesenc_si128': target specific option mismatch
_mm_aesenc_si128 (__m128i __X, __m128i __Y)
^~~~~~~~~~~~~~~~
In file included from
/home/etienne/Documents/Brokertech/bkc/brokercoins/guiwallet-win/cryptonote/src/crypto/slow-hash.c:167:0:
/home/etienne/Documents/Brokertech/bkc/brokercoins/guiwallet-win/cryptonote/src/crypto/slow-hash.inl:159:21: note: called from here
xmminput[0] = _mm_aesenc_si128(xmminput[0], expkey[j]);
我不明白为什么该解决方案对第一个文件有效但现在被阻止了? 非常感谢!
您没有遇到同样的错误。您遇到了 2 个 完全不同的错误 。第一个内联失败是针对 SSE-2 128 位 XOR 指令,该指令通过添加 -msse4.1
得到解决。第二个是 AES NI 内在函数,我相信您需要 -maes