2015-12-11 104 views
0

我想在linux mint 17.2中编译一个main.c代码和汇编代码pstring.x。/usr/bin/ld:找不到-lgcc - 程序集中的链接出错

当我尝试链接代码时,gcc返回: /usr/bin/ld:找不到-lgcc。

没有人知道我需要改变以使其工作吗?

gcc -m32 -g -c -o pstring.o pstring.s 

[email protected]~/workspace1/targ3Mivne $ gcc -m32 -g -c -o main.o main.c 

[email protected] ~/workspace1/targ3Mivne $ gcc -m32 -g -o a.out main.o pstring.o 

/usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc.a when searching for -lgcc 

/usr/bin/ld: cannot find -lgcc /usr/bin/ld: skipping incompatible 
/usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so when searching for 
-lgcc_s /usr/bin/ld: cannot find -lgcc_s 

collect2: error: ld returned 1 
exit status 
+0

你使用的是哪个版本的gcc?您使用multilib版本?你能告诉我们你用来编译和链接的命令吗? –

+0

[gcc -m32 -g -c -o pstring.o pstring.s shay @ shay-Latitude-E6410〜/ workspace1/targ3Mivne $ gcc -m32 -g -c -o main.o main.c shay @ shay -Latitude-E6410〜/ workspace1/targ3Mivne $ gcc -m32 -g -o a.out main.o pstring.o /usr/bin/ld:跳过不兼容/usr/lib/gcc/x86_64-linux-gnu/4.8 /libgcc.a当搜索-lgcc /usr/bin/ld时:找不到-lgcc /usr/bin/ld:跳过不兼容/usr/lib/gcc/x86_64-linux-gnu/4.8/libgcc_s.so when搜索-lgcc_s /usr/bin/ld:无法找到-lgcc_s collect2:error:ld返回1退出状态] –

+3

尝试使用命令'sudo apt-get install gcc-multilib g ++ - multilib'安装这些软件包谢谢 –

回答

2

尝试用命令sudo apt-get install gcc-multilib g++-multilib

安装这些包而不multilib的libgcc的32位版本不可用。 64位不能链接到32位代码,这是此问题出错的原因。 - Michael Petch