2017-11-22 3 views
-3

Linux (Fedora)에서 Windows로 크립토 메모장을 크로스 컴파일하려고합니다. 오류 : always_inline '_mm_aesenc_si128'에 대한 호출에서 인라이닝하지 못했습니다. '_mm_aesenc_si128': 대상 특정 옵션이 일치하지 않아서 -msse4.1이 불충분합니다.

추가 플래그없이 컴파일이 오류가 얻을 : 다음 C와 CXX에 대한 -msse4.1 플래그를 추가하려고

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); 

을, 나는 여전히 같은 오류를 얻었으나, 다른에 파일 :

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]); 

왜 솔루션이 첫 번째 파일에서 작동했지만 지금은 차단 되었습니까? 감사합니다.

답변

0

같은 오류가 발생하지 않았습니다. 2 은 완전히 다른 오류입니다. 첫 번째 인라인 오류는 -msse4.1을 추가하여 해결 된 128 비트 XOR 명령어 인 SSE-에 대한 것입니다. 두 번째 것은 AES NI 내재적인데, 당신이 필요하다고 생각합니다. -maes

+0

감사합니다. – EStt

관련 문제