Compilation cross-platform unix 32/64
Bonjour à tous !
J'essaie de compiler depuis un système unix 32bits vers un système unix 64bits.
Sauf que, je bloque ! :p
Mon code :
Code:
1 2 3 4 5 6 7 8
|
#include <iostream>
int main()
{
std::cout << "hello world !" << std::endl;
return 0;
} |
Voici ma manipulation actuelle :
Code:
1 2
|
apt-get install gcc-multilib |
A ce stade, j'ai un répertoire "lib64" dans mon "usr/lib".
Code:
1 2
|
gcc -m64 Iusr/include -o main.o main.cpp |
Ici, j'ai mon main.o qui est bien crée, aucun soucis.
Code:
1 2
|
gcc -m64 -o MonProgramme main.o |
Et là, on rigole :
Code:
1 2
|
main.cpp:(.text+0xa): undefined reference to `std::cout' |
Quel étape est-ce que j'ai oubliée ou mal faite ?
Merci d'avance pour votre aide !
edit: Parmis mes essais sans succès:
Code:
1 2
|
gcc -m64 -Lusr/lib64 -lc -o MonProgramme main.o |
edit2:
En remplaçant gcc par g++:
Code:
1 2 3 4 5 6
| /usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.1/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.1/libstdc++.a when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.1/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/i486-linux-gnu/4.4.1/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status |