问题标签 [lnk2019]
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.
c++ - LNK2019 错误,未解析的外部符号
错误逐字读取
我以前从未见过这个错误。这是我认为它所指的两个功能。
和
c++ - 未解决的外部错误
我有以下 .h 和 .cpp 文件
如果必须,我将包含函数定义的完整代码
当我编译我的程序时,我得到了最后显示的错误
哈希.h
ht.cpp
主文件
当我尝试使用 vc2010 编译它时出现以下错误
1>main.obj : error LNK2005: "struct fpinfo * __cdecl InitHTable(struct fpinfo (* const)[50000])" (?InitHTable@@YAPAUfpinfo@@QAY0MDFA@U1@@Z) 已经在 ht.obj 中定义
1>main.obj : error LNK2005: "int __cdecl CreateTanker(struct tanker_record * const)" (?CreateTanker@@YAHQAUtanker_record@@@Z) 已经在 ht.obj 中定义
1>main.obj : error LNK2005: "int __cdecl Hash_CreateEntry(struct fpinfo * (* const)[50000],struct fpinfo,struct tanker_record * const)" (?Hash_CreateEntry@@YAHQAY0MDFA@PAUfpinfo@@U1@QAUtanker_record@@@ Z)已在 ht.obj 1>main.obj 中定义:错误 LNK2005:“int curr_tanker”(?curr_tanker@@3HA)已在 ht.obj 1>main.obj 中定义:错误 LNK2019:未解析的外部符号“int __cdecl Hash_CreateEntry (struct fpinfo *,struct fpinfo,struct tanker_record)" (?Hash_CreateEntry@@YAHPAUfpinfo@@U1@Utanker_record@@@Z) 在函数 _main 1>main.obj 中引用:错误 LNK2019:未解析的外部符号“struct fpinfo * __cdecl InitHTable (struct fpinfo *)" (?InitHTable@@YAPAUfpinfo@@PAU1@@Z) 在函数_main中引用
感谢您的帮助!!
c++ - 无法解决未解决的外部错误 LNK2019 错误
我正在尝试创建 A 类的对象。编译工作正常,但链接器抱怨函数 A::A 中引用的 LNK2019 未解析的外部符号 D::D。
A.cpp
A.hpp
基类 dec.cpp 包含一个空的构造函数我也给你 D.cpp
和 D.hpp
C类只包含一个空的构造函数
B.cpp
B.hpp
现在它给出了一个错误,它无法找到函数 A::A 中引用的 D::D,以及在 A::A 和 D::D 中都找不到 B::B 的一些错误。我已经尝试添加一个主函数,消除基类定义,仔细检查头文件的包含......当在Visual Studio 10中选择“跳转到声明”或“跳转到定义”时,它可以找到确切的D: :D 函数。我打开了头文件以查看它们是否指向正确的文件,并且确实如此。
你们有什么建议可以在下一步寻找以消除错误吗?您是否在某个地方发现了错误?我搜索了太久,无法自己弄清楚。非常感谢您的帮助!顺便说一句,我不得不更改类的实际命名,但我检查了是否正确分配了伪名称。如果需要其他文件来澄清错误,请告诉我,我很乐意将它们放在这里。
c++ - 包含标头后未解决的外部符号错误 (LNK2019)
我知道这个问题可能已经被问了一千次了,但我已经在这个问题上咬了好几天了。我对 C++ 相当陌生,这是我第一次使用 Visual Studio。
我正在尝试修改 TORCS 赛车模拟器以在我的大学进行比赛。其中大部分已经完成,所以我发布的只有部分内容实际上是我的代码。但是我向它添加了一些新功能,但我遇到了麻烦。
整个事情在带有 g++ 的 Linux 中运行良好,但是当我尝试在 Visual Studio 2005 中编译它时,我得到一个未解决的外部符号错误。
我在解决方案中添加了一个新项目,它使用了其他项目的功能。
在这个新项目中,我调用了这个函数:
这是在 中声明的raceinit.h
,我将其包含在新项目中。
并定义在raceinit.cpp
:
raceinit.h
和raceinit.cpp
位于我的解决方案中名为客户端的不同项目中,该项目编译时没有错误。我还在client.lib
我的项目中添加了依赖项。
编译时我得到以下输出:
任何想法都值得赞赏,我不知道该尝试什么了。
编辑:
感谢您的回答。我尝试更改外部的东西,所以标志本身在头文件中被声明为外部,而 getter 不是(和几种组合)但似乎没有任何改变错误输出。
我不确定导出函数是什么意思。一个快速的谷歌搜索让我明白了这一点:
和
这将错误输出更改为:
我只是不知道这里有什么问题。
编辑二:
因此,在阅读了导入/导出功能后,我调整了我的代码。
现在声明未解析函数的头文件如下所示:
我调用函数的文件没有头文件,但是我尝试根据文件中的其他函数声明导入的函数:
标头与其他标头一样包含在内,并且该函数的调用方式如下:
错误输出现在更改为:
所以在我看来,如果我只是解决了一些 C/C++ 兼容性问题(或者变得更糟,我什至不确定)但链接器问题保持不变。
有任何想法吗?我现在有点迟疑了,但我需要让这个工作,否则我的老板会生气:)
visual-studio-2005 - 不能在项目中包含静态库
我正在 MS Visual Studio 2005 的解决方案中开发一个子项目。该子项目是一个 Windows CE 6.0 服务(作为 DLL),它包含在 Windows CE 6.0 OS 项目中。在子项目中,我需要使用“ceosutil.lib”中的一些函数(svsutil.hxx 是标题),但我无法将它链接到我的子项目。构建时,我收到以下类型的错误:“错误 LNK2019:未解析的外部符号”。
有趣的是,当我将项目类型切换为静态库时,它编译没有问题。如果我启动一个新的 DLL 项目(独立项目,而不是子项目),它也可以工作(“ceosutil.lib”已经在项目的附加依赖项和所有配置中列出)。
请帮忙!
c++ - LNK2019:未解析的外部符号,但我已对函数进行了编码
有人可以帮我吗?我正在使用 Visual Studio 2010 我收到此消息,但我不知道如何解决此问题。
1> 生成代码...
1>dct.obj : 错误 LNK2019: 无法解析的外部符号“public: __thiscall Amostras::Amostras(class std::basic_string,class std::allocator >)” (??0Amostras@@QAE@V?$basic_string@DU? $char_traits@D@std@@V?$allocator@D@2@@std@@@Z) 在函数_main中引用
1>C:\Users\redneck\documents\visual studio 2010\Projects\dct\Debug\dct.exe : 致命错误 LNK1120: 1 unresolved externals
这是一些 *.cpp 文件:
这是 *.h
主要的
希望它有帮助,我在这里没有选择:(
解决方案:
所以我所做的只是将类放在 *.h 中,然后将 *.h 包含在仅具有该类的方法和功能的类 *.cpp 中。有效!
c++ - LNK 2019 在 MFC 中使用自定义类时出错
我开发了两个类用于在控制台应用程序中运行相机图像采集卡(一个用于抓取图像,一个用于处理图像),现在想将这些类实现到 MFC 项目中。该类在控制台应用程序中运行良好。当我尝试在 MFC 应用程序中使用它们时,我收到 LNK2019 错误。这是一些代码片段,图像显示类的编写方式非常相似:
IMAQ 类(用于抓取图像):IMAQ.h:
IMAQ.cpp:
uOCT MFC AppDlg.h:
uOCT MFC AppDlg.cpp:
在我的 MFC 对话框头文件中,我包含 IMAQClass.h 头文件,它足以让控制台应用程序正常工作,但是,正如我上面所说,MFC 应用程序返回未解决的外部符号错误。MFC 项目additional include directories
设置包括包含 IMAQ 头文件的目录。
为什么我会收到未解决的外部问题?谢谢
请求的错误消息:
编辑:问题解决了,但我想我真的不明白为什么。
所以发布的评论说我需要链接到库文件。我遇到问题的两个类既不生成 .dll 也不生成 .lib 文件,只生成 .obj。但是一时兴起,我回去并将 .obj 文件包含到链接依赖项中。
所以现在我的问题是:如果 .obj 文件没有与可执行文件一起生成,它们是否需要像库一样链接?
c++ - 由于未解析的外部因素,OpenCV 无法编译——LNK2019
我是 OpenCV 的新手,一直在尝试在 Visual Studios 2010 Ultimate 中进行设置。我完全按照文档进行了操作,并按照说明链接了文件。以下是我正在使用的其他库:
以及他们所有的 Release 对应物。但是,当我尝试调试和编译给我的示例代码时,我收到以下错误。(我在某处读到您必须编译和发布项目才能使其正常工作?这也是真的吗?)
我浏览了所有目录并确保这些库实际上确实存在于我的 OpenCV 文件中,并且我的下载没有损坏或任何东西。任何帮助,将不胜感激!
-Logantf17
visual-studio-2010 - 在 Visual Studios 2010 Express C++ 中导入 OpenCV2.3 库时未解决的外部符号错误
第一次在这里向stackoverflow发布问题。对不起,如果我破坏了格式!
我正在尝试遵循关于 openCV 的基本教程,即这个: http ://aishack.in/tutorials/tracking-colored-objects-in-opencv/
我在网上查看了有关如何安装 openCV 的各种教程,包括:
为 Visual Studio 2010和 opencv.willowgarage.com/wiki/VisualC%2B%2B设置 OpenCV-2.3
没有太多的运气。
我现在运行的当前版本是 OpenCV 2.3.0。我目前正在使用 Microsoft Visual C++ Express 2010 在 Windows 7 上运行。
每当我尝试构建和运行代码时,都会收到以下错误:
我的代码如下:
我已将 Open CV 安装到
C:\OpenCV2.3
我添加了额外的依赖项、额外的目录等。对于我的项目的偏好,它们如下:
附加依赖项:
其他图书馆目录:
C:\OpenCV2.3\build\x64\vc10\lib;C:\OpenCV2.3\build\x64\vc10\bin;C:\OpenCV2.3\build\x64\vc10\staticlib;%(AdditionalLibraryDirectories)
其他包含目录:
我还在 Windows 的路径变量中包含了 DLL 的路径:
我查看了其他论坛、其他堆栈溢出问题等,但没有太多帮助。我一直在努力让它在周末的大部分时间里工作。任何帮助将非常感激!
c++ - Qt - Glut32 库
我正在尝试使用 Qt 创建者创建一个 Glut 窗口。我所有的代码都是在另一台计算机上完成的。现在,我想自己编译它。
我在以下文件夹中添加了 Glut32 库文件:
- glut32.lib 到我的项目目录中的 lib/ 文件夹中
- glut32.dll 进入我的项目目录
- glut.h 到我的项目目录中的 GL/ 文件夹中
在我的专业文件中,我添加了以下几行:
在我的代码中,我包含以下内容:
Qt 不报告最后一个包含的任何错误!
所以,当我尝试编译我的代码时,我有很多错误说:
所有这些错误都属于无法找到的过剩函数。那么,当我包含 glut32 库时,我做错了什么吗?
谢谢。