2015-12-11 107 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