bricke / Qt-AES

Native Qt AES encryption class
The Unlicense
501 stars 187 forks source link

App broken with msvc compiler in last version #56

Open vthorc opened 1 year ago

vthorc commented 1 year ago

I am using a machine with windows 10 installed and using Qt v15.5.2 with msvc x64 compiler. Since last updates, it is used mingw macros I think for speeding up the thing, but now msvc is not supported.

Tested also with 1.0 version and the app is compiled under my system.

bricke commented 1 year ago

Can you post the error log?

vthorc commented 1 year ago

Sure, this is my compile output (I do not know if this is the correct way of posting logs or not):

07:59:28: Starting: "C:\Qt\Tools\QtCreator\bin\jom\jom.exe" 
    C:\Qt\Tools\QtCreator\bin\jom\jom.exe -f Makefile.Debug
    cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -Zc:referenceBinding -Zc:__cplusplus -maes -Zi -MDd -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -EHsc /Fddebug\QAESEncryption.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DWIN64 -DQT_DEPRECATED_WARNINGS -DUSE_INTEL_AES_IF_AVAILABLE -DQT_QML_DEBUG -DQT_TESTLIB_LIB -DQT_CORE_LIB -DQT_TESTCASE_BUILDDIR="\"C:/Qt/Projects/QtAES/build\"" -I..\src -I. -I..\..\..\5.15.2\msvc2019_64\include -I..\..\..\5.15.2\msvc2019_64\include\QtTest -I..\..\..\5.15.2\msvc2019_64\include\QtCore -Idebug -I..\..\..\5.15.2\msvc2019_64\mkspecs\win32-msvc -Fodebug\ @C:\Users\VICTOR~1.CAN\AppData\Local\Temp\qaesencryption.obj.11740.31.jom
cl : L¡nea de comandos warning D9002 : se omite la opci¢n desconocida '-maes'
qaesencryption.cpp
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(14): error C2065: '__asm__': identificador no declarado
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(14): error C2146: error de sintaxis: falta ';' delante del identificador '__volatile__'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(14): error C2143: error de sintaxis: falta ')' delante de ':'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(14): error C3861: '__volatile__': no se encontr¢ el identificador
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(14): error C2143: error de sintaxis: falta ';' delante de ':'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(14): error C2059: error de sintaxis: ':'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(14): error C2059: error de sintaxis: ')'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(97): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(97): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(97): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(97): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(97): error C2660: '_mm_shuffle_pd': la funci¢n no acepta 2 argumentos
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\emmintrin.h(170): note: vea la declaraci¢n de '_mm_shuffle_pd'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(98): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(98): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(98): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(98): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(98): error C2660: '_mm_shuffle_pd': la funci¢n no acepta 2 argumentos
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\emmintrin.h(170): note: vea la declaraci¢n de '_mm_shuffle_pd'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(105): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(105): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(105): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(105): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(105): error C2660: '_mm_shuffle_pd': la funci¢n no acepta 2 argumentos
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\emmintrin.h(170): note: vea la declaraci¢n de '_mm_shuffle_pd'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(106): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(106): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(106): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(106): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(106): error C2660: '_mm_shuffle_pd': la funci¢n no acepta 2 argumentos
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\emmintrin.h(170): note: vea la declaraci¢n de '_mm_shuffle_pd'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(113): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(113): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(113): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(113): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(113): error C2660: '_mm_shuffle_pd': la funci¢n no acepta 2 argumentos
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\emmintrin.h(170): note: vea la declaraci¢n de '_mm_shuffle_pd'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(114): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(114): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(114): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(114): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(114): error C2660: '_mm_shuffle_pd': la funci¢n no acepta 2 argumentos
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\emmintrin.h(170): note: vea la declaraci¢n de '_mm_shuffle_pd'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(121): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(121): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(121): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(121): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(121): error C2660: '_mm_shuffle_pd': la funci¢n no acepta 2 argumentos
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\emmintrin.h(170): note: vea la declaraci¢n de '_mm_shuffle_pd'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(122): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(122): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(122): error C2440: 'conversi¢n de tipo': no se puede realizar la conversi¢n de '__m128i' a '__m128d'
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(122): note: Ning£n constructor ha podido aceptar el tipo de origen o bien la resoluci¢n de sobrecarga del constructor era ambigua
C:\Qt\Projects\QtAES\src\aesni/aesni-key-exp.h(122): error C2660: '_mm_shuffle_pd': la funci¢n no acepta 2 argumentos
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\include\emmintrin.h(170): note: vea la declaraci¢n de '_mm_shuffle_pd'
..\src\qaesencryption.cpp(515): error C2131: la expresi¢n no se evalu¢ como una constante
..\src\qaesencryption.cpp(515): note: el error se debi¢ a una llamada de funci¢n no definida o una 'constexpr' no declarada
..\src\qaesencryption.cpp(515): note: consulte el uso de 'QByteArray::size'
..\src\qaesencryption.cpp(537): error C2131: la expresi¢n no se evalu¢ como una constante
..\src\qaesencryption.cpp(537): note: el error se debi¢ a una lectura de una variable fuera de su duraci¢n
..\src\qaesencryption.cpp(537): note: consulte el uso de 'iv'
..\src\qaesencryption.cpp(539): error C2131: la expresi¢n no se evalu¢ como una constante
..\src\qaesencryption.cpp(539): note: el error se debi¢ a una llamada de funci¢n no definida o una 'constexpr' no declarada
..\src\qaesencryption.cpp(539): note: consulte el uso de 'QByteArray::size'
..\src\qaesencryption.cpp(617): error C2131: la expresi¢n no se evalu¢ como una constante
..\src\qaesencryption.cpp(617): note: el error se debi¢ a una llamada de funci¢n no definida o una 'constexpr' no declarada
..\src\qaesencryption.cpp(617): note: consulte el uso de 'QByteArray::size'
..\src\qaesencryption.cpp(635): error C2131: la expresi¢n no se evalu¢ como una constante
..\src\qaesencryption.cpp(635): note: el error se debi¢ a una lectura de una variable fuera de su duraci¢n
..\src\qaesencryption.cpp(635): note: consulte el uso de 'iv'
..\src\qaesencryption.cpp(637): error C2131: la expresi¢n no se evalu¢ como una constante
..\src\qaesencryption.cpp(637): note: el error se debi¢ a una llamada de funci¢n no definida o una 'constexpr' no declarada
..\src\qaesencryption.cpp(637): note: consulte el uso de 'QByteArray::size'
jom: C:\Qt\Projects\QtAES\build\Makefile.Debug [debug\qaesencryption.obj] Error 2
jom: C:\Qt\Projects\QtAES\build\Makefile [debug] Error 2
07:59:30: The process "C:\Qt\Tools\QtCreator\bin\jom\jom.exe" exited with code 2.
Error while building/deploying project qaesencryption (kit: Desktop Qt 5.15.2 MSVC2019 64bit)
When executing step "Make"
07:59:30: Elapsed time: 00:01.
bricke commented 1 year ago

I would try to remove the AESNI code. It seems your compiler doesn't like the __asm__ but that code is there since 3 years.