【急】64位系统编译问题求教!

编译打包和其他
回复
Yao_Zhang
帖子: 3
注册时间: 2012-06-05 19:46

【急】64位系统编译问题求教!

#1

帖子 Yao_Zhang » 2012-06-05 19:59

大家好,小弟对LINUX不是很熟悉,在做Projet的时候遇到了编译问题:
程序是比较早写的 05年左右 现在想重新做 自己新装了UBUNTU 12.04 64-BITS
但程序是32位的 并且分许多段 有C 和C++
一开始当然是编译不成功啦,
后来安装了:apt-get install ia32-libs libc6-dev-i386 linux32
然后在GCC参数中加入:-m32
终于GCC编译成功:
$ gcc -m32 hellow_world.cpp
$ file a.out
a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, BuildID[sha1]=0x5689cfc45e93114d4a66374b5e4be93af046bf9f, not stripped

但是在第二段程序中(C++编写)
在g++后面加入-m32也没有用。写一个小的hellow world.cpp
然后用g++ -m32 hellow_world.cpp编译 也有问题。问题如下:
$ g++ -m32 hellow_world.cpp
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.so when searching for -lstdc++
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.6/libstdc++.a when searching for -lstdc++
/usr/bin/ld: cannot find -lstdc++
collect2: ld returned 1 exit status

求大神解救~~~
P.S 请别出重新安装32位操作系统的主意啊。。。拜托各位~~~ :em20
头像
lxr1234
帖子: 721
注册时间: 2009-04-10 11:15
来自: 三民主义国国民权利省我的选择市中共下台镇

Re: 【急】64位系统编译问题求教!

#2

帖子 lxr1234 » 2012-06-06 9:16

编译参数错了,很明显的,x86_64
强烈反对M$的ARM Secure Boot 锁定要求,大家请签名反对
http://www.fsf.org/campaigns/secure-boo ... cted-boot/
Yao_Zhang
帖子: 3
注册时间: 2012-06-05 19:46

Re: 【急】64位系统编译问题求教!

#3

帖子 Yao_Zhang » 2012-06-06 15:44

lxr1234 写了:编译参数错了,很明显的,x86_64
参数中我只加了-m32啊~ 如果不加这个 编译出来就是64位的啦~
UBUNTU12.04 64位系统里面g++/gcc都是用的4.6.3版本
所以不知道怎么弄了~

用gcc没问题啊 如上:编译时 也就写了 gcc -m32 文件
可是g++就有问题 貌似是外部链接的问题 -lstdc++

求解决方案。
回复