问题标签 [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 投票
4 回答
22630 浏览

visual-studio-2010 - 从 VS2008 更新到 VS2010 后链接错误

今天我从2008年更新到2010年的VS版本后遇到了链接问题,错误是这样的:

我在网上搜索了这个问题,并在这个地址找到了一个类似的帖子:http: //social.msdn.microsoft.com/Forums/en/vcgeneral/thread/5ac28a31-3339-4db1-90f4-68edad360309

但是这些答案都不能解决我的问题。谁能给我一些关于如何解决这个问题的提示?

非常感谢您的帮助!

0 投票
1 回答
876 浏览

c++ - LNK 2028 - 2019 / 托管和非托管 C++ ?(对比 2008 年)

我正在尝试将一个开源库链接到我的一个项目。该库是非托管的(名为 Tetgen),我的项目是托管 C++。

我的项目可以识别标题并可以使用其中定义的功能。但是每次它想要访问.cpp中定义的某些方法时,我都会收到2028错误:

错误 LNK2028:未解析的令牌 (0A000E20) “public: void __thiscall tetgenio::save_nodes(char const *)” (?save_nodes@tetgenio@@$$FQAEXPBD@Z) 在函数“public: virtual bool __thiscall ForwardModelingPlugin::CustomMeshVol3D: :tesselate(void)" (?tesselate@CustomMeshVol3D@ForwardModelingPlugin@@$$FUAE_NXZ)

我试图创建一个测试功能:

...和另一个 Testbis 函数,在标题中定义。Testbis 有效,Test 给出 2028 错误。

我比较了我的项目的 .obj 和创建的 .lib,对于 lib 有:

但在 .obj 中是:

看来他们是不一样的。

一切都是用 /clr 编译的。我已经尝试创建一个 .lib 和一个 .dll,无论哪种方式都具有相同的结果。

0 投票
3 回答
1653 浏览

c++ - 在 VS2008 中构建 Cuda 程序的问题:LNK2019

我在构建程序时遇到了一些麻烦。我正在使用 Visual Studio 2008 使用 32 位 Windows 7 专业版。我有 Cuda SDK,我的项目设置了所有指向 cudart.lib 等的链接。我的问题是当我尝试构建我的项目时,它返回以下错误:

1>crowdSim.obj:错误 LNK2019:未解析的外部符号 _setParameters 在函数“受保护:void __thiscall Crowd::_create(int)”(?_create@Crowd@@IAEXH@Z) 中引用 1>crowdSim.obj:错误 LNK2019:未解决函数“protected: void __thiscall Crowd::_create(int)”中引用的外部符号_mapBuffer (?_create@Crowd@@IAEXH@Z) 1>crowdSim.obj:错误LNK2019:函数“protected: void”中引用的未解析外部符号_allocToDevice __thiscall Crowd::_create(int)" (?_create@Crowd@@IAEXH@Z) 1>crowdSim.obj:错误 LNK2019:未解析的外部符号 _registerBuffer 在函数“protected: void __thiscall Crowd::_create(int)”中引用( ?_create@Crowd@@IAEXH@Z) 1>../../bin/win32/Debug/crowd.exe:致命错误 LNK1120:4 未解决的外部因素

看来我的问题在于我如何设置“allocToDevice”、“mapBuffer”、“setParameters”和“registerBuffer”方法,因为如果我将这些注释掉,我可以毫无问题地构建项目。

我在以下文件中定义了方法:

crowdSim.cuh:

crowdSim.cu:

并且它们仅在来自 crowdSim.cpp 的“Crowd”类中的 _create 方法中调用:

我觉得我在这里遗漏了一些非常基本的东西,但我不知道是什么,所以任何帮助都会很棒!

0 投票
2 回答
489 浏览

c++ - 我需要添加哪个库?: 错误 LNK2019

错误 20 错误 LNK2019:在函数“int __cdecl Init(void)”(?Init @@YAHXZ) anyseeUSBTVControllerDlg.obj anyseee30

当我想在 Visual Studio 2008 中编译我的 win32 dll 项目时出现此错误。

还有第二个错误(可能与第一个错误有关):

错误 21 致命错误 LNK1120: 1 unresolved externals .\Debug/anyseeUSBTVController.exe anyseee30

我需要将哪个库添加到链接器?我读过这是问题所在。

0 投票
4 回答
50479 浏览

visual-c++ - MSVC 中的链接错误 LNK2019,带有 __imp__ 前缀的未解析符号,但应该来自静态库

对于我为 g++ 编写的项目,我在 MSVC 中遇到了链接问题。这是问题所在:

我将 libssh 构建为静态库作为我的应用程序的一部分,在 cmake 中添加目标

add_library(ssh_static 静态 $libssh_SRCS)

Libssh 在 C 中,所以我在我的 c++ 源代码中包含了 'extern "C" {...}'。然后我将 ssh_static 目标链接到我的可执行文件 sshconnectiontest,使用

target_link_libraries(sshconnectiontest ... ssh_static ...)

这一切都可以在带有 gcc 的 linux 中正常工作,但现在在 MSVC 中我得到了

对于我使用的每个 libssh 函数。

任何想法出了什么问题?我在某处读到imp前缀意味着链接器期望链接一个 .dll,但这不应该是这种情况,因为 ssh_static 在 add_library 调用中被声明为静态库......

0 投票
1 回答
430 浏览

c++ - C++ LNK2019(项目类之间)

我有一个非常奇怪的错误:当我想使用SocialServer::ClientSocialServer::Server班级中的班级时,链接器向我抛出了两个 LNK2019 错误:

但是,这 2 个缺失的功能已正确实现:

客户端.h

客户端.cpp

问题出在哪里?

0 投票
3 回答
1275 浏览

c++ - 未解析的外部符号:符号名称末尾的@12 vs @8

我对 C++ 没有任何重要的经验,但最近不得不参与 C++ 部分的项目(实际上是 apache 模块)。

现在我只是试图构建一些现有的非常遗留代码,当 VC++ 链接器无法在 apache 库中找到一个特定函数时(同时看到其余的函数),我会面临一个非常奇怪的问题。

代码是这样的(取自专门为解决这个问题而构建的简单示例):

ap_rputs(ap_gm_timestr_822(r->pool, time(NULL)), r);

(这应该只打印当前日期,但这并不重要)

我得到的错误是这样的:

error LNK2019: unresolved external symbol _ap_gm_timestr_822@12 referenced in function _hello_handler

现在到奇怪的部分:这个函数实际上存在于我正在链接的库中,但它的符号名称是_ap_gm_timestr_822@8(不是@12,而是@8在最后)。

我试图在 MSVC++ 中使用几乎所有可能的编译器/链接器属性 - 不幸的是,没有效果。

这个问题是否与该库(它是 apache 1.3 发行版的一部分)是使用与我使用的不同/较旧/...编译器构建的事实有关?我目前正在使用 MS VC++ Express 2008。如果是这种情况,有没有人知道可以做些什么来解决这个问题?

0 投票
1 回答
192 浏览

linker-errors - 调用函数时链接错误

当我的代码调用某个函数时,出现错误:

H:\workspace\HW5\HW5\Manager.obj

错误 22 错误 LNK2019:未解析的外部符号“public: void __thiscall Shalishut::Task8_MoveVehicleFromBaseToBase(class Military *,char const *,char *,char *)”(?Task8_MoveVehicleFromBaseToBase@Shalishut@@QAEXPAVMilitary@@PBDPAD2@Z) 在函数中引用"public: void __thiscall Manager::TaskExecute(class Task *,class Military *,class Shalishut *,char * * const)" (?TaskExecute@Manager@@QAEXPAVTask@@PAVMilitary@@PAVShalishut@@QAPAD@Z) H: \workspace\HW5\HW5\Manager.objH:\workspace\HW5\HW5\Manager.obj

和:

错误 LNK1120:1 个未解决的外部 H:\workspace\HW5\Debug\HW5.exe

当我不调用该函数时,一切正常并且项目构建。

下面是调用该函数的代码:

这是功能:

0 投票
2 回答
291 浏览

c++ - LNK2019 和 LNK1120 具有外部文件中的功能

我已经从一个源文件中取出了一些函数到另一个文件中,因为我也想在其他文件中使用它们。目前的结构如下

utils/extFuncs.h

utils/extFuncs.cpp

foo/bar.h

foo/bar.cpp

问题是,当我尝试编译它时,链接器抱怨并说符号someFunction无法解析。

0 投票
1 回答
1399 浏览

c++ - 在 DirectDrawCreate 上解析“LNK2019 未解析的外部符号”

上周我一直试图让 DirectDraw 在 CE5.0 框架上运行,但遇到了一些非常奇怪的问题。

当我的代码中有这个函数时,我得到"error LNK2019: unresolved external symbol _DirectDrawCreate referenced in function "bool __cdecl DirectDrawInit(struct HWND__ *)" (?DirectDrawInit@@YA_NPAUHWND__@@@Z)"

该函数本身存在于 .h 中,因为我可以直接跳转到它,这让我觉得我缺少一个库,但我不知道如何检查或修复它,因为它是为远程 CE5.0 构建的设备。我还遇到了一些其他微妙的提示,我错过了一些东西,例如 LR_CREATEDIBSECTION 和其他不存在的 LR 常量以及类型上的微小差异(不喜欢 HBITMAP 而首选 LPCWSTR)。

任何帮助将不胜感激。请注意,WindowsMo​​bile5.0 代码在设备上不起作用,如果我注释掉有问题的函数,代码将编译并运行(它没有被使用,因为 DirectDrawCreate 很重要,但 LNK 错误消失了)