====== 32-Bit Software auf 64-Bit Systemen bauen ====== ...ist eigentlich ganz einfach, denn glücklicherweise ist das Problem alltäglich. Daher liefert der gcc die Option ''-m32'' (bzw. ''-m64'') mit, um i386-Object-Files zu bauen. > gcc -m32 -o 32bitExe helloworld.c > gcc -m64 -o 64bitExe helloworld.c Dabei trat bei mir zunächst der Fehler auf, dass über die ''[[c:lib:stdio:|stdio.h]]'' die Datei ''bits/predefs.h'' eingebunden wurde, aber nicht gefunden werden konnte: /usr/include/features.h:323:26: fatal error: bits/predefs.h: No such file or directory Hierfür muss das Paket ''libc6-dev-i386'' nachinstalliert werden. Eventuell fehlt auch ''gcc-multilib''. > sudo apt-get install libc6-dev-i386 gcc-multilib Das ganze funktioniert ebenfalls in C++, hier findet der Linker jedoch die stdc++-Library nicht. Auch hier muss ein Paket nachinstalliert werden > sudo apt-get install g++-multilib Hiermit konnte ich meine Software für i386 auf einer 64-Bit-CPU kompilieren.