首页 > 解决方案 > 链接两个目标文件以生成一个二进制文件

问题描述

我如何链接两个目标文件以生成一个二进制文件,gcc 其中一个目标文件是从汇编代码生成的,另一个是从 c 代码生成的。

我有一个elf_i386用作输出格式的链接器脚本。当我尝试使用链接文件时

ld -T linker.ld -m elf_i386 -o file1.o file2.o

它会产生一个错误:invalid output format elf_i386 链接描述文件如下:

OUTPUT_FORMAT(elf32_i386)
ENTRY(START)
SECTIONS
{
    .text :{*(.text)}
    .data :{*(.data)}        
    .bss :{*(.bss)}
}

标签: cwindowsassemblylinker

解决方案


我想我找到了答案。我正在使用MinGW。MinGW 不支持交叉编译。所以我决定去 Cygwin 并且效果很好。我这样做是为了操作系统开发。


推荐阅读