问题标签 [linker-errors]

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 投票
2 回答
2895 浏览

eclipse - 在 Eclipse 中构建 FLTK 项目

我无法在 Eclipse 中设置 FLTK。我正在尝试使用以下代码(我在此处找到)创建一个 OpenGL 窗口:

以下是发出的命令:

以下是错误:

我还需要链接什么?我试过-llibfltk.so -llibfltk_gl.so等,但总是说找不到指定的库。

0 投票
3 回答
44296 浏览

linux - 在 Linux 中链接 Boost 库

我正在尝试使用 Boost 的 Asio 构建一个项目,但遇到了一些麻烦。最初,我尝试在没有任何其他库的情况下构建项目,因为所有内容都应该在头文件中。

我正在尝试构建的程序如下所示:

它可以Boost 的网站上找到。

所以,最初我只有:

这导致了以下错误:

看来我需要系统库。因此,我按照此处找到的入门指南中的说明进行操作,它给了我一堆位于/usr/include/boost_1_40_0/stage/lib的库。其中包括libboost_system.a。因此,我尝试编译:

但是,我得到了这个:

我不知道为什么,但它似乎无法识别图书馆或我尝试的任何其他图书馆。我可能做错了什么?提前致谢!

0 投票
3 回答
131563 浏览

ubuntu - 试图包含一个库,但不断收到“未定义的引用”消息

我正在尝试使用 libtommath 库。我在 Ubuntu linux 上为我的项目使用 NetBeans IDE。我已经下载并构建了库,我已经完成了“make install”,将生成的 .a 文件放入 /usr/lib/ 并将 .h 文件放入 /usr/include

它似乎正确地找到了文件(因为我不再收到这些错误,这是我在安装到 /usr 目录之前所做的)。

但是,当我创建一个简单的 main 调用 mp_init (在库中)时,当我尝试创建我的项目时出现以下错误:

所以,看起来链接器在库中找不到函数,但它就在那里,所以我只是不知道是什么原因造成的。

如果我直接输入 gcc 命令并跳过 makefile,我会得到同样的错误,我还确保静态库也使用 gcc 编译。

编辑添加:

如果我直接进行编译并使用 -l 或 -L 添加库,我会得到这些相同的错误:

我对这些东西很生疏,所以我不确定我在这里使用了正确的命令,在 -L 示例中是否找到了库?如果找不到图书馆,我到底如何才能找到图书馆?它在 /usr/lib 中,我已经尝试使用当前目录中的 .a 文件等。是否需要设置环境变量?如果是,如何,等等。

我尝试了一个完全不同的库(GMP)并且遇到了完全相同的问题。这一定是某种 Ubuntu 环境问题?有人知道如何解决这个问题吗?

0 投票
3 回答
29420 浏览

c++ - 在 Linux 上链接期间出现“输出中不可表示的部分”错误

在我的 Ubuntu 9.04 机器上编译 webkit-1.1.5 包时,我在链接器阶段收到此错误:

我想要一些关于如何解决这个问题的指示,或者通过查看“隐藏的 sybmol”错误,或者帮助我理解来自链接器的“输出不可表示部分”消息的实际含义。

我已经检查过这是在make clean;make调用中持续存在的一致行为。

0 投票
3 回答
2378 浏览

iphone - iPhone 库:文件不是必需的架构

我已经搜索了几个小时,但我仍然不知道我的配置有什么问题。我的项目使用了一个自写的库(myLib)。该库被编译为适用于模拟器,并且在那里完美运行。

有什么需要改变的,所以它也可以为我的iPhone 设备编译?

这是我目前的警告:

这是我的配置(myLib.a)

替代文字

我发现很多文章解释了这个错误的原因,但是我找不到解决方案:

模拟器运行在 x86 架构上,而设备使用 ARM 架构。


为了让我的图书馆在我的 iPhone 上运行,我需要进行哪些更改?

谢谢


编辑:

到目前为止我做了什么:

  1. 清理了两个项目
  2. 将库设置为“设备”(3.1)
  3. 建了图书馆
  4. 将我的库的 .a 文件拖到我的应用程序中

结果:

这在模拟器中有效,但将活动 sdk 设置为设备仍然会引发file is not of required architecture错误。

我还尝试了 mahboudz(感谢您的支持)链接。它解释了如何使用 shell 脚本构建项目。但是 XCode 一直抱怨库文件的架构错误并且构建失败。

这必须是一个非常愚蠢的初学者错误。

0 投票
2 回答
3666 浏览

c++ - 具有模板化功能的 LNK2019 和 LNK1120

SO上的这两个链接器错误出现一些问题后,我又遇到了。然而,这一次的源头似乎在另一个点。

编译器错误表明它找不到带有签名的函数""public: unsigned int __thiscall MyClass::myFunction<unsigned int>(int)const "

但是,移动 to 的内容是myClass.cpp可行的main.cpp。不知道为什么(其他所有内容myClass.cpp都没有这个问题。(其他功能没有模板化)。

myClass.h

myClass.cpp

main.cpp

我能做些什么来解决这个问题?

0 投票
3 回答
5001 浏览

linux - Qt 链接错误

我使用以下选项配置 qt-x11

./configure -prefix /iTalk/qtx11 -prefix-install -bindir /iTalk/qtx11-install/bin -libdir /iTalk/qtx11-install/lib -docdir /iTalk/qtx11-install/doc -headerdir /iTalk/qtx11-安装/包括 -datadir /iTalk/qtx11-install/data -examplesdir /iTalk/qtx11-install/examples -demosdir /iTalk/qtx11-install/demos -debug。

现在我在 Fedora Core 6 中遇到以下错误。

你能告诉我问题出在哪里吗?

0 投票
2 回答
1306 浏览

c++ - Split的多种定义

也许我应该还在床上。我醒来想编程。无论如何,现在我遇到了一些令我困惑的链接器错误。你怎么看这一切?我希望我不会发布太多。我本来打算只发一篇,但感觉不对。我检查了错误中提到的一些头文件,但我没有在任何地方看到拆分。奇怪的是,它开始命名为 split,但我遇到了类似的错误。

这是拆分:

0 投票
2 回答
1442 浏览

c++ - LNK2001 使用自定义结构的 std::vector

我想要一些数据缓存,其中包含一些我可以通过UpdateCache函数更新的对象。但是,我遇到了 aLNK2001后跟 a 的问题LNK1120

HeaderFile.h

CodeFile.cpp

我从链接中得到的错误信息是

错误 LNK2001: 无法解析的外部符号 ""private: static class std::vector > MyClass::myObjectCache" (?myObjectCache@MyClass@@0V?$vector@UMyObject@@V?$allocator@UMyObject@@@std@@@标准@@A)"。

致命错误 LNK1120:1 个未解决的外部问题

我的观点是分区到头文件和代码文件有一些问题,因为我在分区不正确时遇到了类似的问题。如果再次出现这样的问题,那么如果您可以发布一些关于将什么放入头文件以及将什么放入代码文件的规则会很好,因为它非常令人困惑。

0 投票
3 回答
867 浏览

iphone - 从 Category 访问私有变量会生成链接器错误

我有以下代码:

为模拟器 SDK 编译时,一切正常。为设备 SDK 编译时,出现以下链接器错误:

我究竟做错了什么?链接到模拟器框架(即 UIKit)和链接到设备框架有什么不同?