ide
32-Bit executable mit 64-Bit gcc erzeugen
Manchmal ist es erforderlich, auf einem 64-Bit System für ein 32-Bit System zu kompilieren. Das ist grundsätzlich auch ganz einfach, wenn man jedoch nicht aufpasst handelt man sich schnell neue Probleme ein.
Unter Ubuntu benötigt man neben dem obligatorischen gcc/g++ noch die entsprechenden Multilibs. Wenn diese noch nicht vorhanden sind können sie über die Paketverwaltung nachinstalliert werden.
sudo apt-get install gcc-multilib g++-multilib
Wenn alle Pakete richtig installiert sind, kann ein C oder C++ Programm einfach mit dem Parameter -m32 für 32-Bit Systeme kompiliert werden. Zum Beispiel.
gcc -m32 -o helloworld helloworld.c g++ -m32 -o helloworld helloworld.cpp
Diese Option kann auch in der jeweiligen IDE, bei mir CodeBlocks, eingetragen werden. Dabei muss man jedoch aufpassen, wenn die IDE gcc zweimal aufruft, einmal zum kompilieren und einmal zum linken, muss die -m32 Option auch beim Linker eingefügt werden, damit er 32-Bit Bibliotheken dazu linkt.