问题标签 [ld]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
114733 浏览

c - 为什么每次运行应用程序时都必须使用导出定义 LD_LIBRARY_PATH?

我有一些使用一些共享库的代码(gcc 上的 c 代码)。编译时,我必须使用 -I 和 -L 显式定义包含和库目录,因为它们不在标准位置。当我尝试运行代码时,出现以下错误:

但是,执行以下操作,一切正常:

现在,奇怪的是,这只能工作一次。如果我再次尝试运行sync_test,我会得到同样的错误,除非我先运行导出命令。我尝试将以下内容添加到我的 .bashrc 中,但没有任何区别:

0 投票
13 回答
506 浏览

c++ - 包含和/或链接二进制文件未使用的内容有什么负面影响?

假设我有一个正在构建的二进制文件,并且我包含了一堆从未实际使用过的文件,然后是否链接到这些包含文件描述的库?(同样,这些库从未使用过)

除了增加编译时间之外,这样做的负面后果是什么?

0 投票
2 回答
752 浏览

c - ld找不到c文件

我有一个汇编文件和 ac 文件编译为 .o 文件(start.o 和 main.o),并试图将它们与 ld 链接。我正在使用这个命令:

其中 link.ld 是一个链接器脚本,但是当我运行它时,我得到了这个错误:

在汇编文件中,我用这个函数调用 c 文件:

任何人都可以看到有什么问题吗?

0 投票
1 回答
2334 浏览

linker - 在 Windows 中链接 *.o 文件

当我在 Windows 上使用 MinGW 将 .o 文件与 LD 链接器链接时,它给了我错误“file.o:无法识别文件:无法识别文件格式”。我试过用 cygwin instread 来做,但同样的事情发生了。有什么建议么?

0 投票
2 回答
1785 浏览

linker - 是什么导致链接器只给出“ld 返回 1 退出状态”消息?

我正在为 ld 使用“--verbose”,试图获得一些对发现问题有用的东西,但它在打印正常的“--verbose”输出时会打印错误消息:

调用者:

0 投票
1 回答
24948 浏览

command-line - 如何获取 GCC 链接器命令?

如何获取 GCC 用来调用 ld 的命令行?

我有一个 AVR 目标的问题,其中 GCC 显然添加了一个我试图覆盖的链接器选项,所以我想看看 GCC 用于 ld 的确切选项。

0 投票
2 回答
716 浏览

c - 共享库文件大小

在创建共享库时,./sl 文件大小将大于 60KB。有 2 个 .o 文件的总大小超过 20KB。

检查实用程序:ldd 和 elfdump 以确定正在引用的库。除了使用的原始文件之外,我还看到了 :/usr/ccs/lib/pa20_64/lddstub 和 SOURCE FILE INFO: movelr1 PA-RISC 2.0 Assembler 的引用。

共享库文件大小增加的可能原因是什么?

[(C 中的新手):在操作系统上工作:HP Unix 11i V2 PA RISC-64]

0 投票
2 回答
730 浏览

c++ - 使用LD链接中间文件

如果我有 ao、bo 和 co,我如何让 ld 将它们链接到 do,然后链接到我的主目标文件中?我想要发生的就是将输入文件中的所有符号组合成一个大的输出文件。

0 投票
10 回答
42234 浏览

c++ - QtCreator build 返回 collect2: ld 返回退出状态 1

在 QtCreator 中构建几个不同的项目时,我遇到了以下构建错误:

在只更改了一些东西(不应该改变构建中的任何重要内容)之后,如果它已经出现,它将消失,或者如果它不存在,它将出现。

在我当前的学校项目程序中,我正在尝试编译 rock03.cpp。它是构建中的唯一文件,并具有 main() 方法。我刚刚运行成功,又回去改变了一些if()s的顺序,现在,我只得到两个相关的警告:

以及有问题的错误。

有谁知道为什么会发生这种情况?我似乎无法以任何合理的确定性重现该错误,并且 QtCreator 在我构建之前没有抱怨任何事情。

谢谢

0 投票
2 回答
10229 浏览

linux - ld 找不到已安装的库

我坐在 OpenSuse 11.1 x64 Box 上,我有一个使用 sigc++ 的模块。像这样链接时:

我明白了

然而图书馆在那里。
在文件系统中:

在 ld.so.conf 我有:

在调用 ldconfig 时:

为什么?