Code::Blocks Forums
Developer forums (C::B DEVELOPMENT STRICTLY!) => Development => Topic started by: tgucm on December 20, 2011, 03:25:38 am
-
( sorry in advance if you feel i've posted this in the wrong forum, please move this topic if you feel it best )
Hi,
I'm new to C++ ( currently studying, started this past week ) and i've been looking for various cross-plstform C++ IDE's
I have msvc2010 express but not very satisfied with it, at the moment. I have been heavily considering building a Linux box and using GCC but then I found CodeBlocks! From reading over it; CodeBlocks looks and seems like just the right thing for me :)
I just had a couple questions if I could:
1: Version 10.05; is there a new version planned for 2012 by chance? ( this is why i posted in this forum )
2: Would someone please explain to me what the two versions mean?
[ codeblocks-10.05-setup.exe vs codeblocks-10.05mingw-setup.exe ]
I tried looking up minGW but as i'm completely new to this I just don't seem to understand O:-)
3: Is it true that I could write my C++ programs once and then compile/link to Windows/Mac/Linux? ( how to do this? )
3b: Could I use CodeBlocks to compile/link to android/kindle/ios?
Many thanks in advance!
-ucm
Win7-64bit
8gb ddr3
ATI 5770HD
-
1: Version 10.05; is there a new version planned for 2012 by chance? ( this is why i posted in this forum )
Yes, in the meantime feel free to use nightly builds - they cover all the improvements made in the meantime.
2: Would someone please explain to me what the two versions mean?
[ codeblocks-10.05-setup.exe vs codeblocks-10.05mingw-setup.exe ]
I tried looking up minGW but as i'm completely new to this I just don't seem to understand O:-)
One is bundled with the MinGW compiler suite, the other is just the IDE alone, you'll need to provide a compiler of your choice. However, if you are on Windows7 you'll need to use a later version of MinGW as the one bundled. At the time Code::Blocks was released there was no Windows 7 and the bundlled compiler has known incompatibilities. You can search the forum for alternatives, as easy to install as C::B.
3: Is it true that I could write my C++ programs once and then compile/link to Windows/Mac/Linux? ( how to do this? )
Yes, so do we with C::B. It's rather easy for console applications, for GUI applications you should use a cross platform framework like wxWidgets.
3b: Could I use CodeBlocks to compile/link to android/kindle/ios?
I don't exactly know their target compilers, if its GCC based then most likely yes, for iOS I see a license issue as you'll need a Mac or at least a proper version of the iOS SDK / compiler. This does not come for free. I don't know how kindle handles that, but Kindle is somewhat different anyways. However, such embedded OS'es usually ship with a very strong optimised IDE for just that target (usually nothing else) that I personally would recommend to use (so do the OS makers).
-
Super Awesome! ;D
Many thanks for the detailed explainations, MortenMacFly!
On the nightly builds; I imagine after all this time there have been a ton of fixes/patches but I have always been quite werry of installing software that hasn't been fully determined as 'stable'.. That said; of the nightly builds, is there a particular version you would recommend as pretty stable from your perspective?
On question 2; I think i understand now, the IDE with MinGW sounds like the smart way to get started from the novice point...
Would you recommend to install codeblocks-10.05mingw-setup.exe first and then perform an upgrade to the latest MinGW compiler or would there be another way to have it work on win7 ?
Also big thanks for your explation of my 3b question!! I 'think' android is a modified version of linux so i am wondering if it would work there.. Well i'll just have to give a try wont i :D
I also forgot to ask a question 4: is there a way to make sure only ANSI-Compliant or native C++ librarys and code are used for a particular project which is destoned for cross-platform accross Windows/Mac/Linux ? For instance not using the .NET framework or maybe half of a library...
-
On the nightly builds; I imagine after all this time there have been a ton of fixes/patches but I have always been quite werry of installing software that hasn't been fully determined as 'stable'.. That said; of the nightly builds, is there a particular version you would recommend as pretty stable from your perspective?
I would suggest using the most recent one (or compiling your own from the subversion repository if you feel up to it!); if you run into any instabilities, you can simply report them on the forums/bug tracker for someone to look into.
Also, nightlies are not exactly installed (unless you use the unofficial installer (http://forums.codeblocks.org/index.php/topic,13234.0.html)), just extracted to any location you want; you can delete it if it does something you do not like.
(I have only ever had Code::Blocks crash when I wrote unstable code in a plugin I was creating, and if I tried to click too fast while Code::Blocks was still loading.)
Would you recommend to install codeblocks-10.05mingw-setup.exe first and then perform an upgrade to the latest MinGW compiler or would there be another way to have it work on win7 ?
I would suggest installing MinGW (or some other build of it like TDM-GCC (http://tdm-gcc.tdragon.net/), which is what Code::Blocks ships with on Windows) first. Then installing from codeblocks-10.05-setup.exe (or a nightly).
I also forgot to ask a question 4: is there a way to make sure only ANSI-Compliant or native C++ librarys and code are used for a particular project which is destoned for cross-platform accross Windows/Mac/Linux ? For instance not using the .NET framework or maybe half of a library...
You can check the GCC docs (http://gcc.gnu.org/onlinedocs/) (specifically C Dialect Options (http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/C-Dialect-Options.htm) and C++ Dialect Options (http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/C_002b_002b-Dialect-Options.htm)) for all the options. The one you might be looking for is:
-ansi
-
On the nightly builds; I imagine after all this time there have been a ton of fixes/patches but I have always been quite werry of installing software that hasn't been fully determined as 'stable'.. That said; of the nightly builds, is there a particular version you would recommend as pretty stable from your perspective?
Always the last one. That what I (we) use in daily environment. And surely every nightly is better than 10/05 meanwhile.
-
Ooops - pressed "Post" too fast.
install codeblocks-10.05mingw-setup.exe first and then perform an upgrade to the latest MinGW compiler or would there be another way to have it work on win7 ?
Install the version w/o compiler, then download the setup for MinGW from tdragon (here: http://tdm-gcc.tdragon.net/download) and adjust C::B to find that compiler by setting the toolchain paths in the compiler options correctly.
I also forgot to ask a question 4: is there a way to make sure only ANSI-Compliant or native C++ librarys and code are used for a particular project which is destoned for cross-platform accross Windows/Mac/Linux ? For instance not using the .NET framework or maybe half of a library...
ANSI compliant is a good limitation but surely being cross-platform doesn't restrict you to ANSI. The best thing you can do is using 3rd party cross platform frameworks like boost, wxWidgets or alike depending on your target application.
Besides: I think there is a (GCC) compiler switch that check for ANSI correctness, I just forgot how its called and cannot look atm.
-
install codeblocks-10.05mingw-setup.exe first and then perform an upgrade to the latest MinGW compiler or would there be another way to have it work on win7 ?
Install the version w/o compiler, then download the setup for MinGW from tdragon (here: http://tdm-gcc.tdragon.net/download) and adjust C::B to find that compiler by setting the toolchain paths in the compiler options correctly.
Many thanks for that!!
I also forgot to ask a question 4: is there a way to make sure only ANSI-Compliant or native C++ librarys and code are used for a particular project which is destoned for cross-platform accross Windows/Mac/Linux ? For instance not using the .NET framework or maybe half of a library...
ANSI compliant is a good limitation but surely being cross-platform doesn't restrict you to ANSI. The best thing you can do is using 3rd party cross platform frameworks like boost, wxWidgets or alike depending on your target application.
ahhh, i misunderstood what ANSI-compliance means; i re-read my book (Sams Teach Yourself C++ in One Hour a Day (pg:15) (http://www.amazon.com/Sams-Teach-Yourself-One-Hour/dp/0672329417)) ""The ANSI standard is an attempt to ensure that C++ is portable--ensuring, for example, that ANSI-standard-compliant code you write for Microsoft's compiler will compile without errors using a compiler from any other vendor.""
Right; so i'll be using libraries from third party cross-platform frameworks then as i'm primarily going for windows/mac/linux(android and kindle if i can ) 8) ;D
I've looked some at boost and just downloaded Nov 15th 2011's v1.48 last night so still some reading up to do.
wxWidgets:
1: Is this how we achieve windowed forms on non-windows systems with our C++ programs or..?
2: where do i get this or is it part of boost?
-
@Alpha: Sorry i missed your post there!
I've never done anything with a subversion repository before. Are those for betas of bugfixes or.. ?
Also, nightlies are not exactly installed (unless you use the unofficial installer), just extracted to any location you want; you can delete it if it does something you do not like.
(I have only ever had Code::Blocks crash when I wrote unstable code in a plugin I was creating, and if I tried to click too fast while Code::Blocks was still loading.)
ahh thanks for that, i think i'll get the latest nightly build when i get back home later tonight.
^-- Is there a list of current Windows7 or ATI issues/bugs i can take a look at before i install tonight?
-
I've never done anything with a subversion repository before. Are those for betas of bugfixes or.. ?
This is Code::Blocks' source code at its current state - everything a developer has committed can be accessed from there (almost) real-time. Using it would involve compiling Code::Blocks yourself on your computer.
If it is only C++ you are new to, I would suggest doing this; it allows you to have complete control over your configuration, and the ability to modify (patch) any behavior you want (see Installing Code::Blocks from source (http://wiki.codeblocks.org/index.php?title=Installing_Code::Blocks_from_source_on_Windows)).
However, if you are new to programming altogether, you may decide to wait some time before attempting this.
-
Check out the nightlies!
Many Thanks! Guys ;D