(resolved) adding versions of the libraries (was: Creator: size_t/ssize_t not recognized)
-
AFAIK, Creator is (should be) capable of handling all supported compilers at once; there's no compiler-specific version of Creator, unlike the Qt libraries.
Your error message originated from this source file: http://qt.gitorious.org/qt-creator/qt-creator/blobs/master/src/plugins/qtsupport/baseqtversion.cpp You could try reverse-engineering it to see what Creator thinks is missing
-
OK...I think I have it working now.
For posteriority, here's what I did:
- I deleted everything from my Qt install (using the maintenance tool and then deleting the other directories with the libs, etc.), and reinstalled from scratch:
QtSDK 1.2.1
Qt Libs 4.8.3 (MinGW 4.4)
Qt Creator 2.5.2
-
Manually added the MinGW tool chain (even though there was already an entry), selected the g++.exe binary and the pythongdb debugger.
-
Manually added 4.8.3 to my Qt Versions.
-
Selected 4.8.3 in my build settings.
And now I seem to be back in battery.
Thanks for all the help, JKSH...I appreciate it.
-
OK, I may have a new issue here. As noted above, I got this working with MinGW, which I'd installed into C:\Qt\4.8.3 per the installers recommendation. Today I was going to try to install the libraries for MSVC, and the installer wants to install into the same location as above. If I do this, I'm going to overwrite files and cause general confusion, right?
-
Yep, installing into the same folder would do bad things :)
You can choose ANY new folder you want -- it won't affect Qt's ability to function. Even C:\PacMan\ will do, but I'd suggest something along the lines of C:\Qt\4.8.3_msvc\
P.S. And for consistency, the other installation could go into C:\Qt\4.8.3_mingw\ , but it's not necessary to disturb your private installation, if you can remember which is which
-
You're welcome. :) Whether you remove and reinstall or not is completely up to you -- Qt doesn't care. I would do it, because (1) I like a tidy and consistent computing environment, and (2) Qt Creator displays the name of your installation root in your "Qt Versions" list
Actually, point (2) made me realize something: It probably looks nicer to install into C:\Qt\4.8.3\mingw\ and C:\Qt\4.8.3\msvc2010\ instead of C:\Qt\4.8.3_mingw\ and C:\Qt\4.8.3_msvc\ ... because Qt Creator will then say
"Qt 4.8.3 (mingw)" and "Qt 4.8.3 (msvc2010)"
instead of
"Qt 4.8.3 (4.8.3_mingw)" and "Qt 4.8.3 (4.8.3_msvc)" -
This is very useful; I think I'm almost there. Should I create a manual entry for the MSVC tool chain like I did for MinGW?
Edit:
I'm also getting some linker errors, stemming from my attempt to use sockets. According to the Microsoft online documentation, I should be including this library (which I am):
@_WIN32:libs += "C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um/x86/ws2_32.lib"@
Any idea what might be going on here?
-
Pretty much.
I've always found manual setup easier than auto-detection, since I don't need to worry about the order of installation (the latter requires a library-and-then-Creator order). Also, I can remove/upgrade my manual installation at any time -- Creator will complain if an auto-detected library is removed, and won't auto-detect a version upgrade.
-
OK, I think I'm really close to wrapping this up. Here's the final (for now!) loose end:
MinGW and MSVC use different libraries for socket functions. MSVC uses ws2_32.lib, which I believe is the "standard" library for this purpose. MinGW, on the other hand, uses libws2_32.a.
So...how do I create entries in my .pro file that will work for both tool chains? (I assume that I want to use the different libraries for the respective tool chains.)
Thanks.
-
Hmm... I'm not sure. Does the `-lws2_32' flag not work for both versions of the library?
It might be worth starting a new thread, to get a new set of eyes.
-
@
LIBS += -lws2_32
@(although, I just realized it might be a GCC flag)
-
No problem :) Glad to hear that your setup has finally succeeded