Applications: Code::Blocks
Category: Development
Description: Code::Blocks is a C++ IDE with support for multiple compilers. Support for automatic detection of MinGW Portable is included.
Download Code::Blocks Portable 10.05 Development Test 1 [17.8MB download / 35.2MB installed]
(MD5: 9b5ad59fb65fe480fb1dff1cf439c4a8)
Note: This DOES NOT include any compilers. If you want compilers, try installing MinGW. That package will be automatically included and detected by Code::Blocks Portable if it's there (at least on first run, I think it should work if added later). Also in the future I'll see if I can create a wxWidgets addon package for wxWidgets development. It may be a bit big though.
Features:
- Support for multiple compilers: GCC (MinGW or GNU GCC), MSVC++, Borland C++ 5.5, and more. MinGW is probably the only officially supported compiler for Code::Blocks Portable, though others should work without too much difficulty.
- Fast custom build solutions: with Code::Blocks, there's no need for makefiles - you can do it all through it's easy-to-use interface.
- Imports other projects: MS Visual C and Dev-C++ projects and workspaces can be imported.
- Powerful debugging: Code::Blocks interfaces GNU GDB for debugging, it fully supports complex breakpoints, can disassemble code, can watch variables, can view stacks, make dumps, read CPU registers, and lots more.
- Easy editing: customizable syntax highlighting, with code folding, code completion, class browser, smart indenting, even a TODO manager, and quite a bit more.
- Plugins: Code::Blocks supports extension by plugins, and Code::Blocks Portable will work with any known plugins.
Big logo, current splash screen (suitable for extension by us)
Release Notes:
10.05 Development Test 1 (2010-11-19):
- Redesigned launcher (using PAL 2.1 Beta 1 with a small quantity of custom code for adding MinGW if it's there and selecting the personality from user config)
- Updated Code::Blocks from 8.02 to 10.05. Opted to include all plugins (increases size by 10MB when uncompressed - possibly 7-8MB when compressed - over the default plugin set)
- Updated PAF spec compliance, etc.
8.02 Development Test 2 (2009-03-24):
- Taken over by me (with permission)
- New system of settings storage - gets everything right now
- Completely rewritten launcher
- Support for MinGW Portable
- New and better icon
- Latest PAF specs
Development Test 1 (2008-07-10): Initial release, by ZachHudock
Getting and testing, like I said in the IRC.
OliverK> you don't live on a cow
IRC: It brings out the best in all of us...Especially when tired.
This is great!! Testing... thanks!
Faith sees the invisible, believes the unbelievable, and receives the impossible.
Works perfect
Use the search box! Please!
Works fine with MSYS portable and a local install of MSVC++ 2008 on vista SP1.
But there’s no sense crying over every mistake,
You just keep on trying till you run out of cake.
Hi Chris,
Thanks for your great work.
I have made few code changes to make Code::Blocks portable out of the box. The code is now in Code::Blocks trunk.
Code::Blocks was not portable due to the wxWidgets Standard Path implementation. I've made a patch which resolves this issue. So far I have tested and it works well.
I've written detailed write-up in my blog in the following 2 posts.
http://biplab.in/2009/04/creating-portable-version-of-codeblocks/
http://biplab.in/2009/04/creating-portable-codeblocks-part-2/
With this patch Code::Blocks can be run in a portable manner by setting APPDATA variable to any directory.
I've written a barebone launcher which can be used for this purpose. Also I've uploaded a prepackaged binary with launcher for testing purpose. Please see my blog for details.
Hope this simplifies portable Code::Blocks creation process.
Please feel free to discuss (preferably in our forum http://forums.codeblocks.org/)any issues related to it.
Best regards,
Biplab
Blog: http://biplab.in
That's great
I'll just say here though that I don't intend to do a new Code::Blocks Portable release off SVN, I'll wait till you get a new release out - any idea when that'll be? This is just because of standard PortableApps.com conventions. A new release very soon would be very nice
I was doing a patch along similar lines, but using another command-line argument. If you're looking at APPDATA though, if it's invalid, then the wxStandardPathsBase::Get().GetDataDir() call will also return an empty string, as it uses a Windows DLL call which if the USERPROFILE/APPDATA combination is not completely valid, will return an empty string. Thus as I see it at least, lines 15-21 and 23 are redundant.
As to the folder left in USERPROFILE, I presume that that would be USERPROFILE\codeblocks? If so, we can get rid of that if it's empty easily as part of the launcher (using RMDir without /r).
Code::Blocs Portable's future is looking even brighter!
I am a Christian and a developer and moderator here.
“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1
Regarding new release - that's a difficult question to answer. At least I don't see one coming in next few months. However if you intend to use Code::Blocks 8.02, you may patch it's source and use it. I can give you a patch if you need it.
I haven't encountered a case where line 15-21 and 23 are being used. I have kept them as a fallback. But if it's really redundant I'll be glad to take it out.
Yes, you are correct. Code::Blocks still leaves USERPROFILE\codeblocks folder. We can get rid of it via launcher. I'll post an updated launcher later.
Thanks again for your efforts making Code::Blocks portable.
Best Regards,
Biplab
Blog: http://biplab.in
There are only two apps here at PortableApps.com which use modified apps (other than a more tightly-packed build as in BPBible's case). These are CoolPlayer, which got renamed to CoolPlayer+ because the main development team were being unresponsive, and anyway it needed a much nicer skin; and Cornice, which has ceased development, hence the bugfixes. Code::Blocks however is a bit different - it is (I hope!) still under development, and there are no major issues with it - just this portability thing! I (sadly) don't think that it really warrants making a custom build (8.02.1?). However, if the head here, @John T. Haller, reckons that it's worthwhile doing, I'd be very glad to do it to make it better
Yes, those lines really are redundant (I've had a lot of experience with APPDATA redirection and all things to do with it, I think I now qualify as an expert in it :P).
OK, good, glad that's the folder. We can scrap it easily then
It might be good though if we could just fix the actual code there. I can't remember exactly now the differences in config and settings directories and all, but is the answer around line 1399? (At least at the very bottom of src/sdk/configmanageer.cpp.)
Thank you for your efforts making Code::Blocks more easily portable!
I am a Christian and a developer and moderator here.
“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1
I've talked to John on IRC now and the question is, would it be possible for you people to make a quick release, e.g. 8.02.1, based on 8.02, but with the new code so that our version can run better? If you could also investigate my suggestion about %USERPROFILE%\codeblocks above that'd be good. If that was to happen then we could get Code::Blocks Portable out the door here quickly. If not, any idea when the next version will come out? That may influence what our next step is (custom build, current system or wait).
Thanks!
I am a Christian and a developer and moderator here.
“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1
please keep working on this, thanks
I agree. I prefer wxDev-C++, but PA.c needs at least one of these and this so far seems more mature dev test wise.
Have you had a chance to look into a WxWidgets addon package yet?
[EDIT:] Here's a regshot i did of wxWidgets using Total Uninstall:
Updated to Code::Blocks 10.05.
I am a Christian and a developer and moderator here.
“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1
Is Development still alive ?
Sometimes making love is just not enough, you have to step it up!
There's currently nothing to do.
I am a Christian and a developer and moderator here.
“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1
The description say Test2 but the link (http://portableapps.chrismorgan.info/portableapps/CodeBlocksPortable_10....) say Test 1 ?
should I manually go to source forge and download Test 2 or is this a typo and I have the most recent Test build ?
Sometimes making love is just not enough, you have to step it up!
In updating from 8.02 DT2 I missed that one location.
I am a Christian and a developer and moderator here.
“A soft answer turns away wrath, but a harsh word stirs up anger.” – Proverbs 15:1
In the
[FileWrite1]
section,Replace=%PAL:CurrentDrive%
should beReplace=%PAL:Drive%
.Also, the replace operation wreaks havoc on .conf files when Code::Blocks Portable is run off a USB stick with drive letter E:, then run again on a USB stick with a different drive letter (e.g. when using the same stick on two different computers). Because %PAL:LastDrive% is E:, all the parts of the .conf file that say
Code::Blocks default
get messed up. Is there any way you can have PAL avoid that?EDIT: it looks like
Find=%PAL:LastDrive%\
Replace=%PAL:Drive%\
would work.
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
This fixed the issue for me.
And after I had thought of it,
I said, "I will, then, be a toad."
Hi,
It seems to me that MinGW Portable does not work with Code::Blocks.
Anything I make compiles fine, and I can run it within the compiler, but when I run the program outside of the compiler, it does not work, saying that it needs DLLs within MinGW. I tried placing the program I made into the MinGW folder, and then it worked, so it seems that the program is dependent on the DLLs in MinGW. Is this an error in my compiler settings? Or, where should MinGW Portable be placed so that it is detected properly (it was not detected for me)?
Is development still alive?
Your app needs the MinGW runtimes, which is expected behavior. Copy the required DLLs from MinGW\bin to your app's folder and it should work. I'm working on a project that had the same issue, and copying two DLLs (the error messages you get tell you which DLLs you need to copy - you may need more than two DLLs for your project) from MinGW\bin to my app's folder fixed the problem nicely.
"The question I would like to know, is the Ultimate Question of Life, the Universe and Everything. All we know about it is that the Answer is Forty-two, which is a little aggravating."
Are there any other compiler options for Code::Blocks Portable that would not have that issue? If so, where could I download them, and can they be made portable?
I like my apps to be independent, running without any DLLs in the same folder; that's just what I'm used to from using Dev-C++ for a while.
EDIT: Found Dev-Cpp Portable, using its compiler as portable MinGW.
I know the post is 1 year old, but I've found the solution. If you put:
-static-libgcc -static-libstdc++
in Settings > Compiler and debugger > Linker Settings > Other linker options
It'll work without the need to copy the dll to the same folder.
It seems that Code::Blocks does not save the compiler settings (I have to reset them every time (with Portable MinGW)), and it does not save recent files, either.
EDIT: Never mind, fixed it with @computerfreaker's recommendation.
Hello!
How do I get the Code::Blocks's splash screen to work?
I've removed the --no-splash-screen from launcher but it's not working either.
I've also disabled the "Development..." splash screen using CodeBlocksPortable.ini.
About the problem with "E:", i guess if PAL Replace function was case-sensitive this problem would not occur... But it's replacing every "*e:*" that it finds on .config file. Including Code::Blocks, private:\, etc...
Edit: Found! Changed SHOW_SPLASH bool="0" to 1 in Data\codeblocks\default.conf
mingw portable does not work:
- "Custom.nsh" does not look in "CommonFiles", where it is
- currently, it stores Mingw\bin in %PATH%, but this does not work, because Code::Blocks needs path of compiler to be set in Compiler->Options, otherwise it pops up compiler auto-detection when it starts
G'day.
I installed the portable MinGW compiler into my USB drive. This was installed into a common files folder automatically.
Then I installed Blocks:Code.
When I tested a helloworld.c file, Blocks would not compile the test program in C.
I tried checking the Blocks:Code settings to see if I could direct the app to the MinGW location. However, I can see that this would not work because the path is relative (depending on the machine I'm using), rather than absolute.
Question: How do I manually enable Blocks:Code to "detect" the compiler installed in my USB flash drive?
Thanks.
I noticed that the launcher for code::blocks uses %appdata% redirection, which is a problem, since it breaks any programs run from codeblocks that use the the %appdata% environment. I suggest this as a fix:
added to codeblocksportable.ini:
[FileWrite1]
File=%PAL:DataDir%\codeblocks\*.conf
Type=Replace
Find=%PAL:LastDrive%\
Replace=%PAL:Drive%\
[FileWrite2]
File=%PAL:DataDir%\codeblocks\*.conf
Type=Replace
Find=%PAL:LastPackagePartialDir%\
Replace=%PAL:PackagePartialDir%\
[FileWrite3]
File=%PAL:DataDir%\codeblocks\*.workspace
Type=Replace
Find=%PAL:LastDrive%\
Replace=%PAL:Drive%\
[FileWrite4]
File=%PAL:DataDir%\codeblocks\*.workspace
Type=Replace
Find=%PAL:LastPackagePartialDir%\
Replace=%PAL:PackagePartialDir%\
;For Snippets
[FileWrite5]
File=%PAL:DataDir%\codeblocks\codesnippets.ini
Type=Replace
Find=%PAL:LastDrive%\\
Replace=%PAL:Drive%\\
[FileWrite6]
File=%PAL:DataDir%\codeblocks\codesnippets.ini
Type=Replace
Find=%PAL:LastPackagePartialDir:DoubleBackslash%
Replace=%PAL:PackagePartialDir:DoubleBackslash%
[DirectoriesMove]
codeblocks=%appdata%\codeblocks
[DirectoriesCleanUpIfEmpty]
1=%appdata%\codeblocks
this way, the profile info is still used by code::blocks and the launcher doesn't break any programs.
The code format doesn't seem to be working right now.
-Hello
If anyone wants an unzip-and-go package with compiler included and all settings configured for you, then you might want to consider the portable educational package:
http://codeblocks.codecutter.org/
The Edu portable version of Code::Blocks is getting old and is not in the PA.c format. I have been able to package it and am looking at what it would take to upgrade to a newer version of Code::Blocks.
Dan "FloriDan" Carroll
Just an old hacker having fun.
The updated version can be found here.
Cheers,
Sam
Hello,
Any chance updating it to version 17.12?
Also Code:Blocks (Code Blocks) allows setting settings folder which will help with it portabilization:
http://forums.codeblocks.org/index.php/topic,19079
If you going to update, please update to 20.03.
I will try it when you do it.
Thank you for you effort.