====== 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.