2010-10-10 7 views
16

J'utilise des blocs de code. J'utilise Ubuntu. Voici la sortie de la compilation.Impossible de compiler 32 bits avec 64 bits g ++

g++ -Wall -O2 -m32 -nostdlib -Iinclude -c /home/miroslav/Development/WEBGINE/src/WEBGINE/Component.cpp -o obj/ReleaseCGI32/src/WEBGINE/Component.o 
g++ -Wall -O2 -m32 -nostdlib -Iinclude -c /home/miroslav/Development/WEBGINE/src/WEBGINE/Debug/ComData.cpp -o obj/ReleaseCGI32/src/WEBGINE/Debug/ComData.o 
g++ -Wall -O2 -m32 -nostdlib -Iinclude -c /home/miroslav/Development/WEBGINE/src/WEBGINE/Debug/DebugCom.cpp -o obj/ReleaseCGI32/src/WEBGINE/Debug/DebugCom.o 
g++ -Wall -O2 -m32 -nostdlib -Iinclude -c /home/miroslav/Development/WEBGINE/src/WEBGINE/Error/ErrorCom.cpp -o obj/ReleaseCGI32/src/WEBGINE/Error/ErrorCom.o 
g++ -Wall -O2 -m32 -nostdlib -Iinclude -c /home/miroslav/Development/WEBGINE/src/WEBGINE/Request.cpp -o obj/ReleaseCGI32/src/WEBGINE/Request.o 
g++ -Wall -O2 -m32 -nostdlib -Iinclude -c /home/miroslav/Development/WEBGINE/src/WEBGINE/Site.cpp -o obj/ReleaseCGI32/src/WEBGINE/Site.o 
g++ -Wall -O2 -m32 -nostdlib -Iinclude -c /home/miroslav/Development/WEBGINE/src/WEBGINE/WEBGINE.cpp -o obj/ReleaseCGI32/src/WEBGINE/WEBGINE.o 
g++ -Wall -O2 -m32 -nostdlib -Iinclude -c /home/miroslav/Development/WEBGINE/src/main.cpp -o obj/ReleaseCGI32/src/main.o 
g++ -o /home/miroslav/htdocs/freelife/index32.cgi obj/ReleaseCGI32/src/WEBGINE/Component.o obj/ReleaseCGI32/src/WEBGINE/Debug/ComData.o obj/ReleaseCGI32/src/WEBGINE/Debug/DebugCom.o obj/ReleaseCGI32/src/WEBGINE/Error/ErrorCom.o obj/ReleaseCGI32/src/WEBGINE/Request.o obj/ReleaseCGI32/src/WEBGINE/Site.o obj/ReleaseCGI32/src/WEBGINE/WEBGINE.o obj/ReleaseCGI32/src/main.o -s -m32 -L/usr/lib32/ 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.so when searching for -lstdc++ 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a when searching for -lstdc++ 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.so when searching for -lstdc++ 
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.4.3/libstdc++.a when searching for -lstdc++ 
/usr/bin/ld: cannot find -lstdc++ 

peu plus sur 32bit libs:

[email protected]:/usr/lib32$ ls -la libst* 
lrwxrwxrwx 1 root root  19 2010-06-21 20:50 libstdc++.so.6 -> libstdc++.so.6.0.13 
-rw-r--r-- 1 root root 975088 2010-03-27 01:16 libstdc++.so.6.0.13 

Répondre

32

Veillez à installer gcc-multilib et g++-multilib. Ceux-ci dépendent à la fois du 64 comme des bibliothèques gcc et stdC++ 32 bits.

+0

thx. J'ai eu gcc-multilib, mais je n'ai pas vérifié g ++ - multilib: D – kravemir

+0

Vérifiez 'gcc -v' afin de sélectionner la version correcte, par ex. 'gcc-4.4-multilib' – ezdazuzena

+3

Comment dans le monde les installez-vous sur une machine CentOS? –

Questions connexes