• Create Account

# C++ what other IDE other than VC++

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

70 replies to this topic

### #41nife87  Members   -  Reputation: 516

Like
0Likes
Like

Posted 02 June 2012 - 12:24 PM

-1 to QtCreator. The RAD looks nice and looks like good integration with Valgrind (though not so much with gdb?). It just feels too bloated/user-friendly (we are, after all, programmers, not casual PC users) and biased towards Qt-products/-services for my taste. I do not mind having the option of using Qt and its RAD, but this should not overshadow the rest of the IDE. Then again, thankfully, different products exist because we do not all feel/think alike.

OP: You put the -std=gnu++0x in Project - Build Options (select the top item in the listbox on your left to apply it to all build configurations) - Compiler Settings - Other options

### #42MARS_999  Members   -  Reputation: 1041

Like
0Likes
Like

Posted 03 June 2012 - 10:55 AM

I installed QtCreator, where is the page to setup libs, and preprocessor(defines) info... I don't see a setup or compiler options page... Again I am still looking around but IDE looks decent, not sure about the debugging setup as I haven't tried that either.

Thanks

Edited by MARS_999, 03 June 2012 - 10:55 AM.

### #43Servant of the Lord  Crossbones+   -  Reputation: 12545

Like
2Likes
Like

Posted 03 June 2012 - 01:01 PM

Double-click the "projectName.pro" file in the file-tree.

The .pro files are fairly powerful things. Here's part of my .pro file for AdventureFar:
(Actually, I have mine split into three .pro files for organization, but below I have them all stitched together. AdventureFar is a large project)

GameClient.pro

Also, on the left-hand bar, visit "Projects" under "Debug".

Edited by Servant of the Lord, 03 June 2012 - 01:06 PM.

It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.

All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.                                                                                                                                                       [Need free cloud storage? I personally like DropBox]

### #44Servant of the Lord  Crossbones+   -  Reputation: 12545

Like
1Likes
Like

Posted 03 June 2012 - 01:16 PM

For debugging, simply run your program in debug mode. When in 'Debug' view (the button above the button I circled red in the previous screenshot), things look like this:

QtCreator debug view

There are additional panels of debugging info available (such as watcher variables, assembly output, etc...), but I don't use them, being rather a novice when it comes to debugging.

It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.

All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.                                                                                                                                                       [Need free cloud storage? I personally like DropBox]

### #45Cod  Members   -  Reputation: 163

Like
0Likes
Like

Posted 03 June 2012 - 03:08 PM

I use Codeblocks because I can use it at home on my windows machine and on the go using linux. Nice to have a single IDE for use on multiple operating systems.

### #46MARS_999  Members   -  Reputation: 1041

Like
0Likes
Like

Posted 03 June 2012 - 03:25 PM

TEMPLATE = app
CONFIG += console
CONFIG -= qt
SOURCES += main.cpp

That is all I see in mine... I don't see anywhere to set preprocessor defines, lib paths, ect... I really hate learning a new IDE... Feel to much like a noob....

### #47Cornstalks  Crossbones+   -  Reputation: 6807

Like
1Likes
Like

Posted 03 June 2012 - 03:35 PM

That is all I see in mine... I don't see anywhere to set preprocessor defines, lib paths, ect... I really hate learning a new IDE... Feel to much like a noob....

You may find reading this useful. You can just type into the .pro file the things you need. For example, if you were to add:

#Library header paths:
INCLUDEPATH = "D:/Jamin/(Programming)/(Libraries)/[MinGW]/Includes"

#Location of QT libraries:
LIBS += -L"C:/Qt/2010.05/qt/lib/"
LIBS += -lQtCore4 -lQtGui4


On the left side, there's the Qt variable (INCLUDEPATH, LIBS, etc), then there's the operator (= (which sets the variable equal to that), += (which adds the value to the variable), etc), and then on the right side there's the value (-lQtCore4 for example).

This lists the Qt Project Variables (note the box on the right... it's got a lot in it, but you'll see INCLUDEPATH, LIBS, etc amongst others). It's a very useful reference if you want to add something (an include path, a library, a library search path, a preprocessor macro (in the DEFINES variable), etc) to your Qt .pro file.

Edited by Cornstalks, 03 June 2012 - 03:35 PM.

[ I was ninja'd 71 times before I stopped counting a long time ago ] [ f.k.a. MikeTacular ] [ My Blog ] [ SWFer: Gaplessly looped MP3s in your Flash games ]

### #48Servant of the Lord  Crossbones+   -  Reputation: 12545

Like
0Likes
Like

Posted 03 June 2012 - 04:43 PM

As Cornstalk mentioned, just type in the variables you need - they are all already defined, and you can just use them as needed.
(The only thing 'odd' about my .pro file is the "debug { stuff } else { stuff }" block, where 'debug' isn't defined by default.)

Edited by Servant of the Lord, 03 June 2012 - 04:44 PM.

It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.

All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.                                                                                                                                                       [Need free cloud storage? I personally like DropBox]

### #49Aardvajk  Crossbones+   -  Reputation: 2464

Like
0Likes
Like

Posted 06 June 2012 - 12:30 AM

I don't see anywhere to set preprocessor defines...

These need to be passed along to the compiler. For example, if using GCC, you can pass defines along with:

QMAKE_CXXFLAGS += -DMY_DEFINE

along with any other compiler flags. These then get fed into the generated make files. Can't remember if VS compiler uses the same option syntax for defines offhand but principle is the same. There is also QMAKE_LFLAGS for passing along linker options.

### #50lawnjelly  Members   -  Reputation: 423

Like
0Likes
Like

Posted 06 June 2012 - 12:00 PM

Many thanks to those of you on this thread that mentioned QTCreator, I've been evaluating it since yesterday, and from what I've seen so far, it rocks! I'd never heard of it as a suggestion before, maybe assuming it only worked with QT, but I've been looking for a replacement IDE for working with microsoft's compiler for a long time, as visual studio has become a bad joke for c++ development lately , and I need compatibility with others using it.

Really been pleasantly surprised, it really is good and hats off to the developers they really seem to know what they are doing. Some things have been a bit of a wrestle, as the documentation is geared towards the QT side and I can't find many tutorials on using it with win32. It seems to be using the CMake system for me currently and it took me a while how to figure out something as simple as adding files to a project(! I'm a dumbass lol), but once I figured that out I've moved one of my projects across to QTCreator and it's working fab. The intellisense / finding definitions etc works instantaneously as they should, unlike visual studio which locks up my machine for 2 mins with it's 'background parsing' every time I click on classview. The debugging seemed quite usable too for what I tried of it.

I also have tried code::blocks for a couple weeks, and it's very commendable, but I found it very non-intuitive trying to figure out how the options worked, and the compilation was pretty slow (maybe down to the gnu compiler).

There are still some question marks for me with QT Creator .. one thing the classview doesn't seem to organize classes into folders, which is necessary when you are working on big projects, and when you double click on member funcs it takes you to the declaration rather than the definition (but the functionality is there to get to the definition, with a hotkey). But I gather the classview plugin is quite new so I'm sure they'll get round to it, and if they don't I'd be prepared to write it myself.

Overall I'm very hopeful with a few weeks of getting used to it this could finally be the IDE to wean me off visual studio 6 (14 years old now lol, obviously I've used more recent ones for work, but they suck and take 10x as long to get anything done in).

### #51Servant of the Lord  Crossbones+   -  Reputation: 12545

Like
1Likes
Like

Posted 06 June 2012 - 02:51 PM

@Aardvajk: DEFINES += MY_DEFINE also works.

There are still some question marks for me with QT Creator .. one thing the classview doesn't seem to organize classes into folders, which is necessary when you are working on big projects, and when you double click on member funcs it takes you to the declaration rather than the definition (but the functionality is there to get to the definition, with a hotkey). But I gather the classview plugin is quite new so I'm sure they'll get round to it, and if they don't I'd be prepared to write it myself.

I'm not sure about the ClassView thing, but Ctrl+Clicking a function name switches between the definition and the declaration. I wish that if you Ctrl+Clicked a function us. it'd go to the definition first (instead of the declaration), so it takes two clicks rather than one.
I use Ctrl+Click to go to the definition of the function, and Ctrl+Click the definition to go to the declaration.

Edited by Servant of the Lord, 06 June 2012 - 02:51 PM.

It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time.

All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God.                                                                                                                                                       [Need free cloud storage? I personally like DropBox]

### #52MARS_999  Members   -  Reputation: 1041

Like
0Likes
Like

Posted 07 June 2012 - 07:10 PM

It just dawned on me, what are indie programmers that work on various libs e.g. SFML or SDL ect... going to start using now after VC++2012 is out? I mean most are not going to buy a $500 IDE unless they are making money with it.... Thoughts? ### #53mdwh Members - Reputation: 625 Like 0Likes Like Posted 08 June 2012 - 07:47 AM -1 to QtCreator. The RAD looks nice and looks like good integration with Valgrind (though not so much with gdb?). It just feels too bloated/user-friendly (we are, after all, programmers, not casual PC users) and biased towards Qt-products/-services for my taste. I do not mind having the option of using Qt and its RAD, but this should not overshadow the rest of the IDE. I guess this is true when it comes to the default templates or the visual designers - but then surely the same is true with VS being biased towards the MS APIs? Hmm, I suppose there is the issue of the whole qmake stuff, and the risk of writing code which is incompatible with standard C++ (e.g., signals and slots). Is there a way to disable that, to enforce standard C++, anyone know? For being bloated, I was actually going to say the reverse: QtCreator runs fast even on my low end netbook, where Visual Studio 2010 is rather bloated. It just dawned on me, what are indie programmers that work on various libs e.g. SFML or SDL ect... going to start using now after VC++2012 is out? I mean most are not going to buy a$500 IDE unless they are making money with it....

Thoughts?

Yes this is my worry - even if alternatives exist, it will lead to fragmentation as different people use different things. I remember it being this way before 2005 - some projects used commercial VS, meaning you either had to pay for that, or have to try compiling it with a different IDE/compiler, which was a hassle and had the risk of incompatibilities. Or if they didn't use VS, it might still be different to what you used.

So I fear we'll see a return to those bad old days of programming, making it harder for collaboration for indies and open source programmers.

(Though as for SDL, ISTR that they don't use VS at all, or not a recent version - as you don't need the later VS runtimes when linking to it.)

Edited by mdwh, 08 June 2012 - 07:49 AM.

https://freecode.com/projects/erebus - Erebus, Open Source RPG for Windows/Linux/Android/Symbian
https://freecode.com/projects/conquests - Conquests, Open Source Civ-like Game for Windows/Linux

### #54Servant of the Lord  Crossbones+   -  Reputation: 12545

Like
0Likes
Like

Posted 08 June 2012 - 10:41 AM

It just dawned on me, what are indie programmers that work on various libs e.g. SFML or SDL ect... going to start using now after VC++2012 is out?

At the risk of sounding very annoyingly redundant: QtCreator? I use SFML in my project. I've made a SFML-only project using QtCreator, and AdventureFar (my current project) uses both SFML and Qt with QtCreator.

Despite the 'Qt' part of the QtCreator name, you don't actually have to use Qt... The GUI wizard builds Qt applications, just as other wizards in other IDEs probably build Win32 applications. But just like how in other IDEs, you can ignore the wizard and make what you want, Win32 or not, with QtCreator you can ignore the wizard and use what you want, Qt or not.

And hey, if there is a serious market there, I'd expect some company like Corel* to release a commercial IDE at a cheaper price ($75-90 dollar range). If the need is there, it will be filled - both by lower priced options and by opensource** options. Sure it might not be as perfectly high quality, but it'll be more than sufficient. *Corel makes a Cheaper Microsoft Word competitor, WordPerfect, and cheaper Photoshop competitor, PaintShopPro, amongst other things. They aren't the only such company. **OpenOffice - Free Word, Excel, etc... competitors. Maybe this will spur other opensource groups to release a high quality opensource IDE for Windows. Other products will become available to fill the gap. Hey, Apple might sense an opportunity, seriously revamp XCode and port it to windows, using Clang by default, to get people to make more software for iOS and Macs. Who knows? People will adapt. Hopefully this will garner more support for the Windows port of Clang. Hmm, I suppose there is the issue of the whole qmake stuff, and the risk of writing code which is incompatible with standard C++ (e.g., signals and slots). Is there a way to disable that, to enforce standard C++, anyone know? I don't think there's much risk of accidentally using signals and slots... But even if so, the code is still standard C++ (afaik, it's not an extension to the C++ language itself, they just have another pre-compile step that converts the signals and slots to valid C++). I think you can even compile code using signals and slots using another IDE (or another compiler), as long as you run it through the QMake build step first, but I'm not certain. You could probably remove the Meta-Object Compiler (moc) as a build-step, though I can't find any info about that online. You could completely remove QMake and switch to using CMake in QtCreator instead (though that might be throwing the baby out with the bathwater - QMake isn't the problem, MOC is). If you never use any Qt-specific macro (Q_OBJECT or Q_PROPERTY) you don't have a problem. Hey, if you never inherit from QObject class, you can't use Q_OBJECT or Q_PROPERTY anyway, and without Q_OBJECT you can't use signals and slots. QObject is part of the Qt api library, so if you're not using the Qt api, you don't need to worry about accidentally using signals and slots, and if you are using the Qt api, you can't avoid the signals and slots. QtCreator uses GCC/MinGW. Whatever their preprocessors output, has to be compilable by GCC. As mentioned earlier, I even swapped out QtCreator's MinGW (which was at 4.5) to get the slightly newer MinGW 4.6 version, which means that QtCreator hasn't altered or modified the compiler itself, because my code still compiles fine with a vanilla version of MinGW downloaded from MinGW's SourceForge page. The Qt 'extension' to the language is three-fold: It requires you inherit from QObject, it requires you to use QMake which will run the Meta-object compiler, and it requires you to use the Q_OBJECT macro. If you don't inherit from QObject, you simply can't use the major 'extensions'. It's perfectly fine to abbreviate my username to 'Servant' rather than copy+pasting it all the time. All glory be to the Man at the right hand... On David's throne the King will reign, and the Government will rest upon His shoulders. All the earth will see the salvation of God. [Need free cloud storage? I personally like DropBox] ### #55Slavik81 Members - Reputation: 360 Like 1Likes Like Posted 08 June 2012 - 02:27 PM I don't think there's much risk of accidentally using signals and slots... But even if so, the code is still standard C++ (afaik, it's not an extension to the C++ language itself, they just have another pre-compile step that converts the signals and slots to valid C++). I think you can even compile code using signals and slots using another IDE (or another compiler), as long as you run it through the QMake build step first, but I'm not certain. To use other build systems, all you need to do is run the moc over each class that declares signals or slots. Compile and link each of the moc's output files into the same library as the input file. There is no requirement even to use qmake. Edited by Slavik81, 08 June 2012 - 03:36 PM. ### #56phantom Moderators - Reputation: 5019 Like 0Likes Like Posted 08 June 2012 - 04:52 PM It just dawned on me, what are indie programmers that work on various libs e.g. SFML or SDL ect... going to start using now after VC++2012 is out? I mean most are not going to buy a$500 IDE unless they are making money with it....

Thoughts?

If MS hadn't changed the policy they could have just continued using VS2010.
Its not like it will magically stop working when VS2012 comes out.

If they wanted features that VS2010 didn't support then they would have had to found another solution, of which a few exist and if things had stayed the same I dare say more would have appeared.

Lets face it, if VS2012 Express wasn't going to support C++ libs/programs then people would stick to VS2010 Express, this would prevent a 'critical mass' going to VS2012 which means that VS2010 would stay the defacto standard on Windows for Open Source software (for those working with VS anyway). Chances are you'd still get a few people who would buy it and would then make sure libs worked with the new IDE.

In short; the sky isn't falling. the sky was never falling. the sky is very much where it was.
(Less so now that MS have said there will be a 'windows application' version of the Express edition).

### #57Fredericvo  Members   -  Reputation: 210

Like
0Likes
Like

Posted 10 June 2012 - 07:30 PM

I use vc++2010... from the commandline and notepad++ for syntax highlighting, tabs etc. It's way faster than the vc GUI.

### #58mdwh  Members   -  Reputation: 625

Like
0Likes
Like

Posted 11 June 2012 - 07:26 AM

In short; the sky isn't falling. the sky was never falling. the sky is very much where it was.

It would have been a pain and caused fragmentation in years to come - I mean, for people to stick with a 2010 compiler/IDE for years in the future wouldn't have sounded a good solution, even if it would work at the moment.

I don't think anyone said "the sky is falling", people said, what are people going to use instead.

(Less so now that MS have said there will be a 'windows application' version of the Express edition).

Well obviously - the discussion was before this news had been heard.

Edited by mdwh, 11 June 2012 - 07:27 AM.

https://freecode.com/projects/erebus - Erebus, Open Source RPG for Windows/Linux/Android/Symbian
https://freecode.com/projects/conquests - Conquests, Open Source Civ-like Game for Windows/Linux

### #59Konrad Jablonski  Members   -  Reputation: 476

Like
0Likes
Like

Posted 12 June 2012 - 09:44 AM

you could try bloodshed dev C++, but I moved from that compiler to Visual Studio 2010, not sure why you don't like it. I used to hate it too but i got used to it, and it's actually quite good for debugging if you know how to use it

### #60spielc  Members   -  Reputation: 104

Like
0Likes
Like

Posted 06 September 2012 - 04:42 AM

QtCreator is great*, it has intellisense, integrated debugger, and etc... I use it with MinGW (the GCC C++ compiler ported to windows). The version of MinGW that ships with QtCreator is 4.5 I think, but I manually upgraded to v4.6 which better supports the C++11 standard. (GCC is on 4.7, but that version hasn't yet been ported to MinGW and Windows yet - when it is ported, it'll almost completely implement the standard).

Hi i would be really interested in how you achieved that? Can this be done without having to rebuild qt-creator or is the switch a "compile-time option"? The problem is that i have some COM-Stuff in my qmake-project and it would be really helpful if i could get code completion to work and my hopes are that the newer version of gcc is better at working with the COM-macros

Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

PARTNERS