Simple application runs in release, but debug gives me a linkage error
I am getting started learning QT using the most recent and freshly installed version of QT creator on a 64 bit windows system. If I make a simple hello world application, it compiles and runs just fine in release mode, but if I try and run it in debug mode it gives me an LNK1104: cannot open file 'qtmaind.lib'. Any ideas on what I can do to figure this out?
Hi and welcome to devnet forum
Did you right click on the project in the project pane and rerun qmake?
Do a rebuild after this.
Thanks for the response! I had already tried that, but went ahead and tried again to no avail.. I've also tried it on both console and widget applications, same unfortunate result.
Sounds something with your setup is mixed up.
What is the pre-compiled version you using?
I used the online installer, which installed this version:
Qt Creator 4.4.1
Based on Qt 5.9.2 (MSVC 2015, 32 bit)
Built on Oct 4 2017 04:12:53
From revision 6afdb8bdf9
Does it matter that it installed based on MSVC 2015 32 bit rather than 64 bit?
@Dan-Bumbarger This is QtCreator version not Qt version.
Which exact Qt version do you use?
MSVC 2015 32 is fine even on 64bit Windows.
I'm running 5.9.2..
I would suggest to post the compile and link output for a small "hello world" program. Possibly someone can see the eventual differences and why the error occurs.
qtmaind.libwill be a debug library; in release build it will doubtless use
qtmain.libinstead. In some shape or form it can find the latter but not the former. You might look at Qt area to see if & where you can find either/both of these files.
If it's quick & easy to do, you might uninstall your Qt and reinstall, just to see if it fixes or you get any error messages while installing.
From the compile output:
link /LIBPATH:"c:\Users\acrob\Anaconda3\Library\lib" /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /SUBSYSTEM:WINDOWS "/MANIFESTDEPENDENCY:type='win32' name='Microsoft.Windows.Common-Controls' version='188.8.131.52' publicKeyToken='6595b64144ccf1df' language='' processorArchitecture=''" /OUT:debug\playingqtwidgets.exe @C:\Users\acrob\AppData\Local\Temp\playingqtwidgets.exe.17396.969.jom
LINK : fatal error LNK1104: cannot open file 'qtmaind.lib'
jom: C:\Users\acrob\Documents\build-playingqtwidgets-Desktop-Debug\Makefile.Debug [debug\playingqtwidgets.exe] Error 1104
jom: C:\Users\acrob\Documents\build-playingqtwidgets-Desktop-Debug\Makefile [debug] Error 2
18:38:04: The process "C:\Qt\Qt5.9.2\Tools\QtCreator\bin\jom.exe" exited with code 2.
and there is indeed no qtmaind.lib (there is a qtmain for release..). Strange thing is, I don't remember the option for the install telling it to install everything in Anaconda? My intention is mostly to be using it with C++ in either QTcreator or Visual Studio, though I already had Anaconda installed for a python project..
I am thinking that hte QT5.9.2 did not install correctly (I can't find any qtmain.exe in there..) , so it finds the only installation that it can, which is the one that installed with Anaconda.. I am going to try and uninstall, reinstall and pay closer to options...
Yup, that's what it was... opening up the "QT" tickbox in the installer, I could see that it installed nothing but hte toolbox, likely because it had found this old version. Problem solved! I appreciate the friendly kick in the right direction!