0

我有 2 个文件:“test.o”和“testlib.a”两个文件都在同一个文件夹中

现在我想用链接器加入他们。问题是必须将它们与“ld”命令链接!

那么有人可以告诉我语法如何吗?

我试试这个,但它不起作用:

ld -I -o testprog test.o testlib.a
4

2 回答 2

3

只需让 g++ 为您处理所有细节 - 它会ld使用所有正确的参数调用:

g++ -o testprog test.o testlib.a

如果您想查看传递给的命令ld以便可以直接调用它,那么只需添加-v标志:

g++ -v -o testprog test.o testlib.a
于 2013-04-28T15:28:02.547 回答
2

如果您的程序不需要大多数程序使用的 C++ 运行时库部分,那么您所提供的内容将起作用。如果您想使用任何 C++ 运行时功能(例如,您的代码以 、 、 的表和许多其他类似的东西初始化),您将需要提供 C++ 启动代码和标准mainC stdin++库cinatexit

没有理由ld直接使用。就像 Paul R 说g++的,用来做链接。它知道如何做你需要的所有事情。只有当您正在构建操作系统(或内核模块)或其他一些不使用正常标准运行时库位的组件时,您才不想这样做。

于 2013-04-28T15:35:09.723 回答