Link external library with MSCV compiler
-
This is a screenshot of the kit I am using now. This warning made me think that qt only supports VS15, but if it doesn't make a difference, then it's ok. This is now using the autodetected compiler (VS17), so I don't need to set up the path manually.
And yes the library is x86. -
@jsulm it produces this error:
f:\dd\vctools\crt\vcstartup\src\gs\gs_report.c:220: error: Debugger encountered an exception: Exception at 0xca9b99, code: 0xc0000409: , flags=0x1 (execution cannot be continued) f:\dd\vctools\crt\vcstartup\src\gs\gs_report.c:220: error: Debugger encountered an exception: Exception at 0xca9b99, code: 0xc0000409: , flags=0x1 (execution cannot be continued)
-
@jsulm
I commented some lines out to find the source of the problem and now it's producing the linking error again -.- This is the compile output:C:\Qt\Tools\QtCreator\bin\jom.exe -f Makefile.Debug link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' publicKeyToken='6595b64144ccf1df' language='*' processorArchitecture='*'" /MANIFEST:embed /OUT:debug\DecaRangeRTLS.exe @C:\Users\FRHMELSA\AppData\Local\Temp\DecaRangeRTLS.exe.5688.156.jom Qt53DExtrasd.lib(Qt53DExtrasd.dll) : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64' jom: C:\Users\FRHMELSA\Documents\Projects\build-TREKdisplay-Desktop_Qt_5_11_1_MSVC2017_32bit-Debug\Makefile.Debug [debug\DecaRangeRTLS.exe] Error 1112 jom: C:\Users\FRHMELSA\Documents\Projects\build-TREKdisplay-Desktop_Qt_5_11_1_MSVC2017_32bit-Debug\Makefile [debug] Error 2 15:06:47: The process "C:\Qt\Tools\QtCreator\bin\jom.exe" exited with code 2. Error while building/deploying project TREKdisplay (kit: Desktop Qt 5.11.1 MSVC2017 32bit) The kit Desktop Qt 5.11.1 MSVC2017 32bit has configuration issues which might be the root cause for this problem. When executing step "Make"
So the problem is with
Qt3DExtras
? Is this library 64bit? But this doesn't make sense right? Because whole Qt is 32bit and this is just part of it. -
Qt53DExtrasd.lib(Qt53DExtrasd.dll) : fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'
So the problem is with Qt3DExtras? Is this library 64bit?I read this the other way round. I have searched this error and MS docs state it's a "version mismatch" but nowhere clarify which is which in the error message... :(
I believe this is saying:
Qt53DExtrasd
is a module which is compiledx86
(32-bit), but your overallLINK
is targettingx64
(64-bit).If that's the case, somehow your makefile/compilation/link is still targetting 64-bit when you want it to target 32-bit.... Make 100% sure that whatever the
qmake
generates (a makefile?) has no references to 64-bit but only to 32-bit, and that everything (of yours) is rebuilt from scratch. -