Code::Blocks with C/C++ Compiler


now if you could use some PC-CPU-Cores in the process for something like make -j8 it would be perfect ... that's mostly the reason why I still prefer crosscompiling over compiling on the pandora itself (I only do that if the provided buildscripts ignore my crosscompilers or some libraries and I'm too lazy to fix them)
 
the "screen" trick is meant to be able to use codeblocks from a PC without binding the session to the PC itself (like was happening with X11 forwarding), so I think that what you need is something of a different kind
 
I know, I used that screen-thing on a sever some time ago.

My whole point was just that I would really like to combine the advantages of both using the PC and the pandora. (Maybe possible by adding distcc to this?)
 
screen is good, I also use like this with a remote session:

http://sam.nipl.net/pnd-x/cbdev

#!/bin/bash
OLD_PWD=$PWD
OLD_HOME=$HOME
cd /mnt/utmp/codeblocks/
source ./cbpnd_cli.sh
export HOME=$OLD_HOME
cd "$OLD_PWD"
exec bash -i
 
screen is good, I also use like this with a remote session:

http://sam.nipl.net/pnd-x/cbdev

#!/bin/bash

OLD_PWD=$PWD

OLD_HOME=$HOME

cd /mnt/utmp/codeblocks/

source ./cbpnd_cli.sh

export HOME=$OLD_HOME

cd "$OLD_PWD"

exec bash -i
what happens if you close the terminal or lose the connection while compiling ? does the session remains alive ?

I never heard about "source"
 
screen is good...
screen is amazing ... beyond amazing actually.


It does with CLI what tabs do with browser. And when nested one deep, it does what Tab Groups do in Firefox. And with some scripting magic to "save" each screen window it does what save/restore session does in Firefox.


When I need something again which I did in CLI a few months ago (but now don't remember very well), I simply restore the respective screen "session" and off I go. :D

what happens if you close the terminal or lose the connection while compiling ? does the session remains alive ?
The screen session simply detaches. The session remains alive as long as the system hosting it remains up. This seems relevant:

 
Last edited by a moderator:
Unrelated to Code::Blocks, but not quite worth its own topic...

I'm thinking of rewriting part of my game's engine to use fixed point variables wherever possible (like, replacing every float which does not need to get converted back later for OpenGL).
Question is if this would be worth doing for the Pandora. There sure is NEON, but the cycle stalls don't sound very appealing for non-batched calculations.

But I'd rather hear the opinion of an experienced Pandora coder before just doing it for nothing.

Thanks.  :)
 
I'm thinking of rewriting part of my game's engine to use fixed point variables wherever possible (like, replacing every float which does not need to get converted back later for OpenGL).


Question is if this would be worth doing for the Pandora. There sure is NEON, but the cycle stalls don't sound very appealing for non-batched calculations.


But I'd rather hear the opinion of an experienced Pandora coder before just doing it for nothing.
Did you run your game on the Pandora already, compiled with the right flags?

If it's too slow, and you can't fix it some other way, you could try using fixed point.  If it's fast enough, don't mess with it!

I'd try a profiler before resorting to fixed point math.

I was surprised that my game ran fine on the Pandora without changing the code, when I compiled it with the right flags.  Just make sure you are using "float" not "double".

Fixed point math is going to make your code much more complicated, unless you're using C++ operator overloading or similar.
 
Last edited by a moderator:
I'm thinking of rewriting part of my game's engine to use fixed point variables wherever possible (like, replacing every float which does not need to get converted back later for OpenGL).

Question is if this would be worth doing for the Pandora. There sure is NEON, but the cycle stalls don't sound very appealing for non-batched calculations.

But I'd rather hear the opinion of an experienced Pandora coder before just doing it for nothing.
from : http://pandoralive.info/?p=3832
sebt3 said:
Finally, a last point I want to discuss about game code design : fixed point math. As I read everywhere that fixed math are faster than usual floating point math and EINA provide fixed math function (and EET also provide storage for fixed data type too). I tried this way. In the end of the day, the performances gained on the CPU doing math is lost on the GPU (probably converting back to floats). All in all, there are not much gain. the performances are more or less on par. I guess if my game engine had a complex physics engine with a lots ongoing in the event loop, then there would be a gain. (Sprites are moving on simple paths, collisions detections are rather simple. In the end the game mechanisms are very very basics here). On the other hand, I wouldn’t like having to write this physics engine using fixed math : the problem with fixed math is that the code is way less readable. Fixing a bug here would be a major pain. I’m definitely unsure there is a real gain going this way. At the very least, don’t start designing your engine this way…
 
Last edited by a moderator:
I kinda knew about that article already, that's why I mentioned the floats for OpenGL which I wouldn't turn into fixed point.
Thing is that I also have a good bunch of floats that need to be converted to ints every frame, namely for subpixel-movement, but also in some other places. That conversion would have almost no overhead at all if I got that right.
I've been looking at libfixmath for now and it doesn't look /that/ less readable imo. 

But if the advice stays the same in this case, I won't waste my time on it. Thanks.
 
The v2 is on the repo.

Codeblocks command line now automount wxPython, MonoRT and Lazarus if present (and a future WineRT) to enhanced itself.

So, now, with the codeblocks command line, you can acces mono or freepascal (and use make, perl, everything).

 


Update v2.00.11

 

  • Updated GCC to 4.9.1
  • Updated Codeblocks
  • Updated many libs!
  • Automount wxPython, MonoRT and Lazarus

Here is a semi-acurate "what's new" since last release (I sometimes don't notes the libs I add)...

Code:
********** 09/09/2013
* gcc 4.8.2 -> 4.9.0
 
********** 14/09/2013
* wxWidget 2.8.12 -> 2.9.5
 
********** 15/09/2013
* wxWidget  recompile, with x11 instead of gtk as toolokit. Too many dependancies attached for now (libcairo depend on libQt and libGLESv2)
+ elflibviewer a tool to walk dependancies, tree view style (a graphical ldd).
* libcairo recompiled, without QT & GLESv2 backend
* wxWiget recompiled with gtk
 
********** 02/10/2013
+ libwebp 0.3.1
* SDL_image 1.2.12 with static jpg and png to avoid mess with different versions
* SDL 1.2 omapdss version, trying to fix problem with SDL_Threads that doesn't seems to works (don't use semaphore)
 
********** 03/10/2013
* libproxy recompiled
* libsoup 2.32 recompiled
 
********** 20/10/2013
* openal-soft svn synch + some hand neon optim.
+ eigen 3.3 template library for math (vector, matrix, quaternions). NEON optimized
 
********** 21/10/2013
+ ncursessw 5.9 ncurses with wide char
+ htop 1.0.2 top with color
 
********** 26/10/2013
* allegro 4.4.2 fresh compile
 
********** 27/10/2013
* GLES & GLES2 header update with latest version (manual version for gles2, not the automatic one).
* SDL 2.0.0 -> 2.0.1
+ fblend 0.5 plus some custom neon code
+ fluxcomp fresh from git
 
********** 27/10/2013
+ assimp 3.0.1270 the open Asset Importer
 
********** 31/10/2013
+ fridgelib latest version from git
+ apr 1.4.8
+ apr-util 1.5.2
* sqlite 3.6.20 -> 3.8.1
 
********** 01/11/2013
* Scons 2.2.0 -> 2.3.0
+ serf 1.3.0
* svn 1.7 -> 1.9.0-dev fresh from svn
* GLES2 Header fallback to previous version
 
********** 11/11/2013
+ autogen 5.18.2
* libsndfile 1.26.git fresh from git
* SFML 2.0 freshen sources from git
 
********** 17/11/2013
+ glm 0.9.4.6 OpenGL Math, header only Math classes
* gcc 4.9.0 new compile again...
 
********** 02/12/2013
+ lxml python lib
+ setuptools python lib
+ pyquery python lib
* libicu 5.0 -> 5.2
 
********** 03/12/2013
+ keybinder 0.3.0 C lib + python and lua bindings
 
********** 28/12/2013
* gcc 4.9.0 freshen from svn
* wxWidget 2.9.5 recompiled with forced -fPIC
 
********** 19/01/2014
* addipk updated all ipk are available now
* kernel-dev updated to latest ipk content
* libvorbis recompiled with gcc 4.9.0
 
********** 01/02/2014
+ TiMidity++ 2.13 with alsa default device
+ celt 0.11.1+ fresh from git
 
********** 06/02/2014
+ wxWidget 3.0
 
********** 09/02/2014
+ coreutils 8.22 all gnu tools (ls, cp...) up to date (libreoffice want a new "touch")
* libpixman fresh from git
* libcairo fresh from git
 
********** 19/02/2014
* gcc 4.9.0 freshen from svn
* binutils+gdb fresh from git (with gold also)
* binutils 2.22 still assertion failed on newer version of ld
 
********** 01/03/2014
+ jemalloc 3.5.1
 
********** 10/03/2014
+ libffi 3.0.13
* gobject-introspection 0.10 -> 1.29.17 with hacked dep. glib 2.29.7 -> 2.24.0
+ libtclini
+ libini
 
********** 12/03/2014
* binutils+gdb freshen from svn, with hack to avoid assert and specific patch for codeblocks (ld and gold)
+ babl 0.1.2+ fresh from git
+ libcroco 0.6.8
+ librsvg 2.34.2 no pangocairo renderer, maybe update-it ?
+ openraw fresh from git
+ GEGL 0.1.6
 
********** 13/03/2014
* gcc 4.9.0 with some codeblocks hacks
+ GEGL 0.2.0 with hack GLib 2.28 -> 2.24 (and it's different from GEGL 0.1.x)
* atk 1.3.0 -> 2.3.3 with some macro hack in GLib header of codeblocks (added some 2.26 macro to current 2.24 headers)
* gdk-pixbuf 2.20.0 -> 2.24.1 with some hacking for GLib 2.27.2 -> 2.24
* pango 1.22.4 -> 1.29.5 with some hacking for GLib 2.32 -> 2.24 (added some 2.32 macro to current 2.24 headers)
 
********** 14/03/2014
* gdk-pixbuf 2.24.1 without dynamic module
* pango 1.29.5 without dynamic module
+ aalib 1.4rc4
 
********** 25/03/2014
* libGL based on lunixbochs version
* glutls 3.2.12
 
********** 27/03/2014
* gstreamer firmware -> 0.10.33
* gst-plugins-base -> 0.10.36
+ WildMidi 0.2.3.5
* gst-plugins-good -> 0.10.31
* gst-plugins-bad -> 0.10.23
 
********** 31/03/2014
* python 2.7.3 recompiled, all is included now
 
********** 03/04/2014
* gawk 3.4.9 -> 4.1.0
+ libgpg-error 1.12
+ libassuan 2.1.1
+ libksba 1.3.0
 
********** 05/04/2014
+ udev from repo with addipk
 
********** 27/04/2014
* libGL
* gcc 4.9.0 now on beta state, with go, fortran and obj-c added back
+ nspr fresh from hg
+ GNUstep-make 2.6.6
+ GNUstep-base 1.24.6
+ ImageMagick 6.9
+ nano 2.3.2-dev fresh from svn
 
********** 01/05/2014
* libGL
+ libasync 0.8
* libpulse header only, + libpulse-simple.so
* portaudio lastest stable
+ espeak fresh from svn
 
********** 26/05/2014
* smpeg 0.4 freshen svn repo and fixed buzzing sound
* SDL_mixer 1.2 use tremor (int compiled) for ogg
* make -> 4.0
 
********** 31/05/2014
* linux header
* FreeImage 3.1.60
+ Lesstif 0.95
+ Xlt 13.0.13
+ x11-proto-printproto latest from git
* libXpm latest from git
+ geomview 1.9.5 use LessTif and OpenGL, so glshim.
+ ddd 3.3.12 debugger frontend (use lesstif)
+ glsl_optimizer a static lib to optimize GLSL shader (also for GLES|2)
+ re2c fresh from git
 
********** 12/07/2014
* openal-soft update to current git sources
* bison 2.6 -> 3.0.2
+ webkitgtk 1.3.9 (doesn't seems to works)
* wxWidget 3.0.0 -> 3.0.1 with webviewwebkit enabled
* gtk+-2.24 -> 2.20 from firmware
 
********** 02/08/2014
+ GNUstep-gui 
+ liquidfun 1.1.0
* libserf 1.3.2 -> 1.3.4
* sqlite 3.6.20 -> 3.8.5
* svn freshen sources
 
********** 09/08/2014
* fixed wxpython launch script
 
******** => PND v2.0.0.11 ***********
 
Last edited by a moderator:
The v2 is on the repo.

Codeblocks command line now automount wxPython, MonoRT and Lazarus if present (and a future WineRT) to enhanced itself.

So, now, with the codeblocks command line, you can acces mono or freepascal (and use make, perl, everything).
So... Who is porting Hedgewars? (Written in Free Pascal and C++) :D
 
When I run QtCreator, it tells me there's no compilers set up, so when I manually add it, it then says there's no Kits set up.

Also, it won't let me git clone from GitHub.com - "SSL certificate problem: unable to get local issuer certificate"
 
When I run QtCreator, it tells me there's no compilers set up, so when I manually add it, it then says there's no Kits set up.


Also, it won't let me git clone from GitHub.com - "SSL certificate problem: unable to get local issuer certificate"
Yes QtCreator I know. I have fixed that now on my current (QT5) version. It was due to the fact that QtCreator detect the current config to be "Desktop", so it looks for x86 compiler! I patched it to try arm compiler.

I'll release a new version, but it will be with QT5.3.1, no more QT4.8.2.

For SSL, hum, I have to check, I think I have put some certificates somewgere in my codeblock's home (also, I upgrade git to current sources, so 2.1.something).
 
When I run QtCreator, it tells me there's no compilers set up, so when I manually add it, it then says there's no Kits set up.


Also, it won't let me git clone from GitHub.com - "SSL certificate problem: unable to get local issuer certificate"
Yes QtCreator I know. I have fixed that now on my current (QT5) version. It was due to the fact that QtCreator detect the current config to be "Desktop", so it looks for x86 compiler! I patched it to try arm compiler.

I'll release a new version, but it will be with QT5.3.1, no more QT4.8.2.

For SSL, hum, I have to check, I think I have put some certificates somewgere in my codeblock's home (also, I upgrade git to current sources, so 2.1.something).
I get the same error when trying to clone depot_tools.

I ended up pulling the source through PanDebian as I couldn't figure out what the problem was. I had to make sure both git and libcurl were up to date. I'd prefer to try again using Code::Blocks in SZ if anyone can figure out what is going on.
 
Back
Top