c -/usr/bin/ld : cannot find -lgcc - Error in the linkage of assembly

标签 c linux gcc assembly

我正在尝试在 Linux Mint 17.2 中编译 main.c 代码和汇编代码 pstring.s

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

有谁知道我需要更改什么才能使其正常工作?

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: 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

最佳答案

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

如果没有 multilib,则 32 位版本的 libgcc 不可用。 64 位代码无法链接到 32 位代码,这是此问题中出现错误的原因。 ——迈克尔·佩奇

关于c -/usr/bin/ld : cannot find -lgcc - Error in the linkage of assembly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34219248/

相关文章:

c - 如何处理严格的别名警告

c - 从 C 中的文件读取时出现段错误

c - 如何向 gcc 提供有关循环计数的提示

linux - Exec --no-startup-id <command> 表示 "--"无效选项

c - 程序在尝试使用 read() 系统调用读取文件时卡住

c - 在 Xcode 4.6 中使用 gcc

c++ - 构造函数不能采用非常量引用

c - 如何在不截断任何单词的情况下使用缓冲区正确读取 stdin 的输入?

C - 修改 const 结构内指针的数据

linux - Debian 8 上的 IPTables