问题标签 [unresolved-external]

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 投票
3 回答
3640 浏览

c++ - 致命错误 LNK1127:库已损坏 --> 将 extern "C" 添加到函数原型后

我有一个使用 C 代码制作的外部库。我希望从我的 c++ 项目中的库中调用一个函数。函数原型的原始格式是。

这导致了 MSVC2008 中的以下链接器错误

然后我将此原型更改为

然后得到以下错误:

我已经多次重建图书馆,并且非常确定它没有损坏。任何帮助都会很棒。谢谢!!

0 投票
8 回答
411 浏览

c++ - 我有很多关于 c++ 的问题让我很困惑

在学习了 2 年的 java 之后,我大约在 3 周前开始学习 c++。看起来很不一样,但我到了那里。我的讲师是一个可爱的人,但任何时候我问一个问题,为什么事情会这样或那样。他只是回答“因为它是”。

下面的代码中有很多注释,带有一些随机问题,但主要问题是我遇到了两个构建错误,一个说 arraytotal 尚未初始化(即使我找到了它的值),另一个说外部引用主要。

有人会介意阅读代码并回答其中的一些评论,也许是我遇到的整体问题?

0 投票
1 回答
321 浏览

c++ - C++ - 未解决的外部错误

我目前正在编写一个使用链表的堆栈类。我觉得我已经完成了,但我不断收到未解决的外部错误。

这里是:

有谁知道该怎么做?我当然不会。如有必要,我可以提供代码。

0 投票
2 回答
2963 浏览

opengl - OpenGL 期间的链接器错误:SuperBible 教程

我目前正试图通过编写一点 DirectX 10 和 OpenGL 3.3 在 DirectX 和 OpenGL 之间做出决定。我已经完成了 DirectX 的设置,链接和编译相当容易。OpenGL……更难。

OpenGL Superbible 有一个名为 Triangle.cpp 的开头示例,我们在其中链接了两个库freeglut_static.libGLTools.lib. 这不是问题;我还去了项目目录并包含了所有必要的 OpenGL 扩展的 Include/ 和 lib/ 路径(GLEE、Glew、Glut、FreeGlut、GLTools——该死的,够了吗?)。

首先我有几个链接器错误,因为我的代码生成是在 DLL 上设置的,而不是静态的。我已经解决了这个问题,并将其添加LIBC.lib到链接器中被忽略的库列表中(不确定将代码生成设置为静态是否也解决了这个问题)。

现在我仍然有两个无法摆脱的链接器错误:

我在 google 上搜索了这个问题,许多人评论了程序的静态性质(我已经修复)以及 Glut.h 和 Glut.lib 之间版本冲突的特定问题。但是,我什至使用了旧版本的 Glut (3.6),链接器错误仍然存​​在。

谷歌中的其他搜索并没有真正提出任何合理的使用方法。所以,我在这里问:我该如何解决这个问题?

信息

代码生成: Multithreaded

C++ 预处理器命令: FREEGLUT_STATIC

IDE:Visual Studio 2008 and 2010. (Testing on both- same error on both)

忽略的库: LIBC.lib

Triangle.cpp 代码(从书中的代码中简单复制/粘贴):

0 投票
8 回答
51537 浏览

c - 使用 libcurl 链接程序时未解析的符号

我知道这是编程问题,但我只是想弄清楚我做错了什么感到沮丧..

我正在使用 Visual Studio 2010 并按照此处的所有步骤操作:http: //curl.haxx.se/libcurl/c/visual_studio.pdf

当我尝试编译我的解决方案时,我不断收到此错误:

来源:

0 投票
3 回答
2860 浏览

c++ - 从 cpp 文件内联函数时出现链接器错误

好吧,我在执行以下操作时遇到了链接器(未解析的外部符号)错误:

-我有一个类“对象” - 它在“object.h”中定义。

它有一个构造函数,如:explicit Object(double x, /* lots more */);

在文件“object.cpp”中,我想给该构造函数一个主体:Object::object(double x) : _x(x) {}

这有效.. 但是,如果我在“object.cpp”文件中添加关键字“inline”:

突然出现链接器错误!“错误 LNK2019:未解析的外部符号”

为什么?- 这是否意味着我不能对构造函数使用内联?

编辑:实际上我注意到所有方法都是如此。但是,如果我将所有方法移到object.h标头文件中,它确实可以工作。您不能从定义对象的头文件外部内联函数吗?

EDIT2:好吧,一个大更新,我决定构建一个快速测试用例:
main.cpp

a.cpp

这给出了以下错误:

main.obj:错误 LNK2019:函数 _main 中引用的未解析外部符号“public:void __thiscall a::test(int)”(?test@a@@QAEXH@Z)

删除“inline”关键字使程序工作。将“ah”和“a.cpp”组合到1个文件中也是如此。

我真的想不出更多信息可以提供:/

0 投票
4 回答
12329 浏览

assembly - 未解析的外部符号 _WinMainCRTStartup

我正在尝试用 Masm32 组装一个简单的“Hello world”应用程序。它组装得很好,但是当我尝试链接它时,链接器说

链接:错误 LNK2001:未解析的外部符号 _WinMainCRTStartup prog1.exe:致命错误 LNK1120:1 个未解析的外部符号

这是程序的源代码:

我在一些论坛中发现这是由编码类型引起的。但是,这对我的问题似乎无关紧要

0 投票
4 回答
4953 浏览

c++ - VS2010 中的 Magick++ - 未解析的外部符号

我正在尝试将 ImageMagick Magick++ 用于 VS2010 中的 C++ 项目。我从这里安装了库:klick

然后在我的项目中,我将 c:/program files/ImageMagick-6.6.6-Q16/include 添加到包含文件夹中。然后我尝试在这段代码中使用 Magick++:

但这不起作用!VS2010 返回以下错误:

我究竟做错了什么?

非常感谢您的帮助!

更新:

将链接器 -> 输入 -> 附加依赖项设置为:

和链接器 -> 常规 -> 附加库目录到:

它仍然导致相同的错误...

更新 2

打开 C:\Program Files\ImageMagick-6.6.6-Q16\lib 中的 .lib 文件会导致此错误: 替代文字

更新 3

CORE_RL_Magick++_.lib 确实包含 ?InitializeMagick@Magick@@YAXPBD@Z,但不包含 ?InitializeMagick@Magick@@YAXPBD@Z。这是否意味着 .lib 文件已损坏?

更新 4

我通过手动编译 .lib 文件解决了我的问题。谢谢大家!

0 投票
1 回答
1049 浏览

visual-c++ - 编译 Win32 应用程序而没有特定的依赖项或大小膨胀

我正在尝试使用 Visual C++ 2008 构建一个小型 Win32 应用程序,但我希望它可以在任何现代 Windows 机器上运行,而不必提供额外的库,也不必增加静态链接它们的大小。

我在互联网上阅读了很多关于这个主题的文章,比如这个: http: //kobyk.wordpress.com/2007/07/2...visual-c-2005/

我知道一个好主意是将我的项目动态链接到 msvcrt.dll,它可以在任何现代 Windows 作为系统 dll 中找到,而不是像 msvcr90 这样的新运行时会随着每个新的 Visual Studio 版本而变化。

所以在链接器选项中,我忽略了所有默认库 (/NODEFAULTLIB) 我将 msvcrt.lib 添加到附加依赖项中

但是我在编译时遇到了一堆“未解析的外部符号”错误,比如这些:

我还尝试使用一些替代 C++ 运行时库,旨在减少 Minicrt、WCRT 等体积膨胀,但无论如何我都会收到“未解析的外部符号”错误。

任何帮助是极大的赞赏,

提前致谢

0 投票
2 回答
6401 浏览

libpng - libpng 中未解析的外部 png_set_longjmp_fn

动态加载 libpng.dll 时,从 libpng13.dll 升级到 1.5 版后,编译器开始报告这个未解析的外部:png_set_longjmp_fn

怎么会,我该如何解决?