问题标签 [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.

0 投票
0 回答
1297 浏览

matlab - MATLAB 出错:cvlib_mex.obj:错误 LNK2019:未解析的外部符号(尝试在 MATLAB 中使用 cvlib_mex.c 时)

我的项目确实处于非常糟糕的境地。它适用于我的 32 位台式机以及相同版本的 MATLAB (R2012a) 和 Visual Studio 2010 Express,但不适用于 64 位笔记本电脑。最后一个错误如下:当我尝试执行此错误时:

这是错误:

请显示我错过的一些要点...

0 投票
2 回答
1488 浏览

c++ - 错误 LNK2019:由于帮助程序库,无法解析外部符号

我认为问题出ConvertToUpperCase在我的 CS 课程中使用的帮助程序库中包含的一个函数。我正在尝试为我的实验写一些东西,但我是通过辅助库学习的——所以我不知道没有它该怎么办。

完整的错误错误:

LNK2019:未解析的外部符号“class std::basic_string,class std::allocator > __cdecl ConvertToUpperCase(class std::basic_string,class std::allocator >)”(?ConvertToUpperCase@@YA?AV?$basic_string@DU?$ char_traits@D@std@@V?$allocator@D@2@@std@@V12@@Z) 在函数“public: bool __thiscall Lexicon::containsPrefix(class std::basic_string,class std::allocator > )" (?containsPrefix@Lexicon@@QAE_NV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)

该功能包含在此处strutils.h 并进行说明

示例代码:

澄清:

  • 是的,这是 2009 年和 2010 年的工作代码 - 所以它被实施了。
  • 该库是一个 .lib,我现在使用的是sourceForge 版本
  • VS 2008,它最后是从 VS2005 编译的,我试过 VS2005 和 VS2011BETA 但仍然有错误。
  • 我正在尝试确保将适当的 cpp 文件添加到项目中;我认为他们是。我的 genlib.cpp 的日期为 2011 年,与面向 Linux 用户的 github.com/b33tr00t/cs106lib 版本不同,因此存在一些差异是有道理的。
0 投票
1 回答
2651 浏览

c++ - Qt LNK2019、LNK2001、LNK1120 QT 多媒体错误 [Visual Studio Express '10]

出于某种原因,每当我尝试使用示例代码时,我的编译器都拒绝合作。

我使用的示例代码来自这里:http: //qt-project.org/doc/qt-4.8/multimedia-videowidget.html;我目前只使用了 VideoWidgetSurface 类。

据我所知,我的代码与示例的代码 100% 相同,并且我没有编码错误。

但是,编译后我收到:

. . . .

. . . .

[删除错误,因为有很多]

========== 构建:0 成功,1 失败,0 最新,0 跳过 ==========

我不完全明白为什么我会收到此错误。到目前为止,我在使用 Qt 时遇到的问题很少,并且已经成功运行了我的程序(在 Visual Studio '10 中,不使用 qmake)。

我仔细检查了我是否已链接到附加依赖项部分中所有可能的 .lib 文件,并且我没有遗漏任何文件。

似乎此错误仅存在于多媒体模块。我搜索了现有的多媒体 .lib 但找不到任何内容。

我尝试了以下 cmd 命令:

但它没有工作,我仍然收到错误。

任何帮助深表感谢。如果您想查看更多我的代码或我的链接/包含,我也会分享这些。谢谢!

0 投票
12 回答
109632 浏览

c++ - LNK2019:函数 ___tmainCRTStartup 中引用的未解析外部符号 _main

我有以下错误:

LNK2019:函数 ___tmainCRTStartup 中引用的未解析外部符号 _main

有很多与此错误相关的线程,但这些解决方案都不适合我。而且,没有人解释为什么会出现这个错误。

我试过:

  • wWinMainCRTStartup作为链接器属性(线程)中的入口点
  • 将链接器设置为“Windows”(与上述相同的线程)
  • 右键单击解决方案名称->添加->现有项目->带有主文件的文件(与上述相同的线程)
  • #include <tchar.h>错误 LNK2019:未解析的外部符号 _main 在函数 ___tmainCRTStartup 中引用
  • 尝试项目 + 属性、C/C++、代码生成、缓冲区安全检查 = 否(线程
  • 选项:C/C++、代码生成、运行库=/MTd;C/C++,代码生成,基本运行时检查=默认;C/C++,代码生成,缓冲区安全检查=否;链接器,高级,入口点=主(线程
  • main.cpp在exceptusing namespace std和- 中注释掉标头#include <iostream>- 导致引用这些标头的函数出现级联和滚雪球错误
  • 我删除了除测试代码之外的所有内容,并排除了除;之外的main.cpp所有源文件。main.cpp正如预期的那样,它是朝着正确方向迈出的一小步。问题一定出在其中一个头文件上。
  • 使用 Win32 Windows 应用程序模板创建新项目(线程线程

没有尝试过并怀疑这些也不起作用:

  • 使用int main()(不确定它们的意思,文件名或主函数名)(线程
  • 用于在 Windows 7 x64(线程cmake上构建

为什么我会收到此错误,解决方案是什么?

0 投票
1 回答
1655 浏览

visual-studio-2010 - VS2010 Unresolved External Symbol boost::asio::detail::winsock_init_base::throw_on_error 将 boost-system 与使用 libtorrent 的项目链接时

我正在尝试使用 Rasterbar 的 libtorrent 构建一个小型命令行 BitTorrent 客户端,该客户端依赖于 Boost。我已经使用各自的方向构建了 Boost 库和 libtorrent 库,但是当我尝试构建我的项目时,出现以下链接错误

似乎表明 asio::detail 命名空间没有包含在 boost-system 库中,因为它似乎只有这 5 个符号有问题,并且它链接到 boost-system 库就好了,否则. 我正在尝试在 64 位系统上构建 32 位应用程序,但我检查过的所有内容似乎都为此正确配置了。

我知道我错过了一些东西,但我似乎无法弄清楚是什么。有没有人有什么建议?

0 投票
1 回答
209 浏览

c++ - 编程作业的链接错误 2019

我正在处理编程作业,并且在尝试编译时收到此链接错误 2019。它引用了 createVideoList,这些是与此相关的代码行:

不确定我需要在这里发布什么代码来帮助你们,因为我什至不确定错误在说什么。提前致谢!

0 投票
1 回答
964 浏览

c++ - 无法解决错误 LNK2019:无法解析的外部符号

我在 Visual Studio 中有一个解决方案,它有 2 个项目,即 PAL_TEST 和 Unit_Test。
我在 PAL_TEST 中有一堂课,CPALResponse.h

PAL_TEST CPALResponse.cpp 中的另一个文件

Unit_Test中有一个文件Unit_Test.cpp,

当我构建 Unit_Test 项目时,它显示给我

我不清楚该消息的含义以及如何解决该错误

0 投票
2 回答
397 浏览

c++ - 错误 LNK2019 简单链表实现

我正在实现一个简单的链接列表,但我不断收到 LNK2019 错误,我将代码简化到最低限度以跟踪问题,但我不断收到它。我正在使用 Visual Studio 2010。我的头文件是:

实现文件为:

主要功能是:

我收到了这个错误:

错误 1 ​​错误 LNK2019: símbolo externo "public: __thiscall LinkedList::~LinkedList(void)" (??1?$LinkedList@H@@QAE@XZ) in function _wmain

我得到与构造函数相同的错误。有趣的是它指向了_wmain,而我的main函数叫做_tmain。我已经尝试将子系统链接器从 /SUBSYSTEM:WINODWS 更改为 /SUBSYSTEM:CONSOLE,但它已经设置为 /SUBSYSTEM:CONSOLE。显然我的实现远不止于此,但我把它全部撕掉来跟踪这个问题。帮助wpuld被欣赏,这让我发疯。我是 C++ 新手。

0 投票
3 回答
1848 浏览

c++ - 未解决的外部噩梦

您好行业资深人士,

我是一名大三学生,开始了我的第一次暑期编程实习,但我的想法有点过头了。我工作的公司从另一家公司购买了一个巨大的应用程序,该公司自 90 年代初以来一直在缓慢地扩展和修改它。该解决方案包含超过 200,000 行代码,分布在 300 多个文件中。据称整个解决方案是按照 ANSI-C++ 标准编写的。代码几乎完全没有文档记录,其中大部分在我看来就像象形文字。最终,我的工作是将此代码移植到嵌入式 Linux。目前,我的工作只是在 Windows XP 上使用 Visual Studio 2008 进行编译。

今天,我遇到了这样的链接器错误:

libcmtd.lib(sprintf.obj) : error LNK2005: _sprintf already defined in msvcrtd.lib(MSVCR90D.dll)

我的理解是,当解决方案中的不同项目使用不同的运行时库编译时,通常会发生这种情况。我的解决方案中有 6 个项目。其中 4 个设置为使用多线程调试 DLL 运行时库 (/MDd) 进行编译,其中一个设置为使用多线程调试库 (/MTd) 进行编译,其中一个设置为使用多线程 dll 运行时库 (/MD)。收到此错误消息后,我尝试的第一件事是将 /MTd 和 /MD 开关更改为 /MDd,以便使用相同的运行时库编译所有内容。不幸的是,这导致 afx.h 中出现以下错误:

fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

经过一番挖掘,我发现它已经告诉了我需要做什么。我继续将项目属性->配置属性->常规下的“使用 MFC”选项更改为“在共享 DLL 中使用 MFC”。此时我开始收到几十个未解决的外部错误,例如:

dataPropertySheet.obj : error LNK2019: unresolved external symbol "public: __thiscall CResizableSheet::CResizableSheet(unsigned short const *,class CWnd *,unsigned int)" (??0CResizableSheet@@QAE@PBGPAVCWnd@@I@Z) referenced in function "public: __thiscall CdataPropertySheet::CdataPropertySheet(unsigned short const *,class CWnd *,unsigned int)" (??0CdataPropertySheet@@QAE@PBGPAVCWnd@@I@Z)

ResizableLib.lib(ResizablePage.obj) : error LNK2001: unresolved external symbol "public: virtual int __thiscall CWnd::Create(char const *,char const *,unsigned long,struct tagRECT const &,class CWnd *,unsigned int,struct CCreateContext *)" (?Create@CWnd@@UAEHPBD0KABUtagRECT@@PAV1@IPAUCCreateContext@@@Z)

在阅读了有关LNK2001LNK2019的 MSDN 页面后,我意识到我不知道发生了什么。这些不是他们在学校教我们如何处理的问题。我知道我的数据结构,仅此而已。我是如何走到现在的,这超出了我的想象!

根据我有限的知识,这些模块的各种调试和发布版本似乎都纠缠在预处理器指令和#includes 的网络中。在整个解决方案的环境变量、文件名、宏等方面,几乎每个头文件和源文件中都有许多嵌套的#ifdef 检查和#define 语句。通过对我的编译器设置进行微小的更改,我似乎将程序的大部分重定向到具有非常不同函数定义的不同库。这是我对正在发生的事情的模糊概念理解。

我觉得在我有机会解决这些编译器错误之前,我需要更好地了解这段代码的工作原理。为此,我一直在尝试逐行浏览许多文件,以查看它们的引导位置、范围内的对象和变量等等。不幸的是,这并没有让我走得太远,因为对外部函数的每次调用都是模棱两可的,而且我无法通过预处理器的混乱来了解应该调用任何给定函数的哪个版本。

我一直在寻找神奇的解决方案来绘制程序并尝试理解它。我尝试了一个名为Doxygen,但要么我不知道如何正确使用它,要么它和我一样被预处理器的东西弄糊涂了。

我的问题是:
我剩下的选择是什么?

在这一点上,这是一个折腾:
a.)转换专业
b.)跳桥

这些选择都不会帮助我更好地理解这个代码库并让它编译。有没有人有更好的想法?类似的经历?圣人智慧分享?

非常感谢,
-亚历克斯

0 投票
1 回答
616 浏览

c++ - 在 C++ 解决方案中重用基类时 MSVC 链接器错误 LNK2019

这真的让我感到震惊,而且 Visual Studio 2008 是如此无脑,以至于它对以下错误根本没有帮助。

我的 C++ 解决方案中有几个项目。一个项目在 crashreporter.h 和 crashreporter.cpp 文件中有 C++ 基类 CCrashReporter。

我需要从中派生另一个类,该类位于同一解决方案中的另一个项目中。所以我这样做:

接着:

上面的代码编译好了,但是当链接器运行时,我得到了这些: