Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Creator 2.5.2/debugger issue
Using Creator 2.4.something, I ran into the documented bug about breakpoints being ignored by the debugger when using terminal mode. According to the bug report, this was fixed in 2.5, so I downloaded 2.5.2.
Now, I'm getting an error message "None of the debugger engines 'Gdb engine, Cdb engine' capable of debugging binaries of the type 'x86-windows-msys-pe-32bit' is configured correctly."
This is a desktop app, and I don't particularly care what format my binaries are in (as long as they work). What's the best fix here?
Running Windows 7, tool chain is/was Mingw.
Were you using the Qt SDK before?
Qt Creator likes Python-enabled GDB (http://doc.qt.nokia.com/qtcreator-2.5/creator-debugger-engines.html ), which the SourceForge MinGW doesn't supply.
What I did was transplant the GDB bundled in the SDK (probably C:\QtSDK\pythongdb\python_2.7based\ )
Then, I registered it with Qt Creator: Tools -> Options -> Build & Run -> Tool Chains
Yes, I've been using the SDK.
When you say you "transplanted" the GDB (which I found, right where you said it was), I assume you mean copy it. Where to, though -- somewhere within C:\QtSDK\qtcreator-2.5.2?
Thank you for the information; I imagine this will be helpful to many people.
Ah, sorry... I have a biology background. Need to stop mixing jargon. Anyway, you're welcome :)
Yes, I coped everything in "pythongdb". You're free to put it anywhere -- just tell Qt Creator where to find gdb-i686-pc-mingw32.exe
What I did though, was install Qt 4.8.2 + Qt Creator 2.5.2 in a separate folder, copied the SDK tools, and uninstalled the SDK itself (as I didn't need Qt 4.8.1 or Qt Creator 2.4.1 anymore)
So, my new folder structure is:
Note: I copied the SDK's MinGW as well, as the pre-compiled binaries don't work with MinGW's latest GCC 4.7 (http://qt-project.org/forums/viewthread/20105/ )
This is good information. A couple of questions:
why did you go to the trouble to make a copy of the pythongdb debugger, instead of just registering it within Creator 2.5.2?
I wasn't sure which compiler to use, so I chose C:\QtSDK\mingw\bin\g++.exe. It seems to work; does this seem OK to you?
I seem to have a lot of copies of MinGW around; I guess it would be smart to try to clean those up, if this is the only one I need.
Because I wanted to remove Creator 2.4.1, which meant I had to uninstall the whole SDK. Letting Creator 2.5.2 co-exist with the old Creator + SDK is perfectly valid too -- in this case, no copying is needed.
Yes, that's a good version to use. It's the officially supported version, and it's the one I copied.
For most purposes, the SDK's MinGW works great. One advantage of the latest SoureForge SDK is better C++11 support, but that requires building Qt from scratch.
OK, just to pursue this a bit further...my old version of Creator is in C:\QtSDK\QtCreator. Is there any reason I can't just delete that directory? I mean, it's just Creator, right?
Thanks for the help.
[quote author="mzimmers" date="1347076508"]OK, just to pursue this a bit further...my old version of Creator is in C:\QtSDK\QtCreator. Is there any reason I can't just delete that directory? I mean, it's just Creator, right?
Thanks for the help.[/quote]I think that would leave your system in an inconsistent state -- the SDK's package manager will still record that Qt Creator 2.4.1 is installed, your Start menu links will be broken, and you might still have Registry entries that point to the now-deleted folder. It's a bit like deleting a folder in C:\Program Files\ instead of using the Windows uninstaller.
The package manager won't let you uninstall Creator through it, either -- Creator is marked as "essential".
One possibility is to delete C:\QtSDK\QtCreator and then manually modify the SDK's database and Windows shortcuts/Registry, but I don't know what entries are involved... or what will happen if I try to run the package manager again.
I guess it's a philosophical thing: I'm also keeping my programs clean and consistent. On the practical level, I guess a broken Qt SDK won't affect my development, and won't affect the rest of my system. However, if I regularly follow that mentality, my Windows system could soon become a mess of broken links and orphaned Registry entries.
TL;DR, it's a way to practice good computing habits :)
Sorry for the late reply. I may have misspoken above when I said I was using the SDK -- I downloaded it, but at present I'm only using Qt for its IDE. As such, deleting the older version of Creator doesn't seem to have hurt anything. I linked the new version of Creator to the "correct" debugger, and it seems to be working. And, the debug/console bug appears to be solved, so...that's a win.
I think I can wait on the SDK until the new version is released (I believe it's in beta now), then I can do a master download.
By chance, have you ever used MSVS 10.0 as a tool chain? Creator finds the compilers, but I'm missing a debugger. I'm guessing I can't use the Mingw debugger. Any suggestions?
Not a problem :)
I presume you installed the IDE via the SDK installer? This is what happens:
The SDK installer from the website installs a Package Manager
The Package Manager downloads and installs your IDE -- including Creator, Qt libs, MinGW, and GDB. It also keeps a record of the components it downloaded.
When you delete Creator manually, instead of via the Package Manager, the manager doesn't realize that the old Creator is gone, and continues to assume that it's still there. That's what I meant by "leaving your system in an inconsistent state". You might run into problems if you try to update your IDE in the future via the SDK Package Manager. If you're ok with this scenario, then it's fine.
I have no experience with MSVC, but this page should have the info you need: http://doc.qt.nokia.com/qtcreator-2.5/creator-debugger-engines.html
All the settings the SDK does for Qt Creator are stored in QtCreator/share/qtcreator/Nokia. Copying that folder will make those settings available to other versions of Qt Creator.