问题标签 [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.
visual-studio-2010 - 从 VS2008 更新到 VS2010 后链接错误
今天我从2008年更新到2010年的VS版本后遇到了链接问题,错误是这样的:
我在网上搜索了这个问题,并在这个地址找到了一个类似的帖子:http: //social.msdn.microsoft.com/Forums/en/vcgeneral/thread/5ac28a31-3339-4db1-90f4-68edad360309
但是这些答案都不能解决我的问题。谁能给我一些关于如何解决这个问题的提示?
非常感谢您的帮助!
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,无论哪种方式都具有相同的结果。
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 方法中调用:
我觉得我在这里遗漏了一些非常基本的东西,但我不知道是什么,所以任何帮助都会很棒!
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
我需要将哪个库添加到链接器?我读过这是问题所在。
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 调用中被声明为静态库......
c++ - C++ LNK2019(项目类之间)
我有一个非常奇怪的错误:当我想使用SocialServer::Client
我SocialServer::Server
班级中的班级时,链接器向我抛出了两个 LNK2019 错误:
但是,这 2 个缺失的功能已正确实现:
客户端.h
客户端.cpp
问题出在哪里?
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。如果是这种情况,有没有人知道可以做些什么来解决这个问题?
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
当我不调用该函数时,一切正常并且项目构建。
下面是调用该函数的代码:
这是功能:
c++ - LNK2019 和 LNK1120 具有外部文件中的功能
我已经从一个源文件中取出了一些函数到另一个文件中,因为我也想在其他文件中使用它们。目前的结构如下
utils/extFuncs.h
utils/extFuncs.cpp
foo/bar.h
foo/bar.cpp
问题是,当我尝试编译它时,链接器抱怨并说符号someFunction
无法解析。
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)。
任何帮助将不胜感激。请注意,WindowsMobile5.0 代码在设备上不起作用,如果我注释掉有问题的函数,代码将编译并运行(它没有被使用,因为 DirectDrawCreate 很重要,但 LNK 错误消失了)