2

我正在尝试在没有任何操作系统的 powerpc 嵌入式系统上运行一个简单的程序。我正在使用 GNU 编译器链接器工具和 PSIM 作为模拟器。我已经编写了自己非常简单的链接器指令文件。

我在我的静态库中使用了一个全局变量,并希望在我的示例程序中使用该变量。但是在链接示例程序 GNU ld 时会出错并停止。它说它在链接器指令文件中找不到 rela.dyn。实际上我不想使用动态可重定位库,因为我没有动态加载器。我究竟做错了什么?

4

2 回答 2

1

没有更多信息很难说。如果您没有底层操作系统,您是否使用 -ffreestanding 来避免在平台运行时链接?

编辑: -ffreestanding 需要 -shared?-ffreestanding 表示编译到非托管环境。这样的环境如何支持共享库?

于 2009-09-02T14:14:12.440 回答
0

-ffreestanding,正如 Solar 所说。如果失败,请使用 --verbose 选项运行 ld 以查看它试图链接的确切内容:这将使您能够进一步调试。

于 2009-09-03T23:55:32.883 回答