问题标签 [lnk2001]
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++ - 从 ViSP 视频采集器演示开始,编译时出现多个错误 LNK2001 和 2019
我正在向 INRIA 学习 ViSP Tool,我的配置是 VS2010 + Visp 2.10 + OpenCV 2.4.8。首先我使用 C-Make 生成 sln ,通过编译 sln,我得到了 vispd.lib 和 visp/include/xxx.h;我还设置了包含路径、库路径和库依赖项;当我开始我的第一个演示以打开图像(主要使用 vpImage.h)时,它运行良好; 但是,问题来了,当我使用相同的配置编译以下代码时,出现144错误!汉字代表“未解析的外部符号”。
c++ - 在 VS2013 中编译:错误 LNK2001 使用 C++
我正在尝试使用 Visual Studio 2013 编译我的游戏。该游戏使用 Box2D,但在发布模式下编译时,发布 Box2D.lib 出现错误。在调试模式下使用调试 Box2D.lib 编译时它工作正常。
我收到 135 个错误,主要是这三个:
我现在已经多次构建了 Box2D.lib,我确信我正在链接到正确的发布和调试库。
我尝试禁用编译器标志 /GS(缓冲区安全检查),但这没有帮助。
为了构建 Box2D.lib 并在编译游戏时,我使用标志多线程 DLL (/MD) 作为运行时库。
编辑:当我与库“bufferoverflowU.lib”链接时,我摆脱了错误“@__security_check_cookie@4”。尽管如此,仍然存在 133 个错误。
c++ - lnk2001 错误 - 未解决的外部 (C++)
这会很棘手,因为我不能发布任何真正的代码,但这里是:
我有 A->B->C 形式的继承,其中 C 是我正在编写的从 B 继承的类,B 从 A 继承。A 和 B 都是由其他人编写的,我无法更改它们(它们似乎独立工作)。我还有一个TestC 类,它#includes Ch 因为它创建了一个用于测试的对象;C 类为空,TestC 只创建一个 C 对象。当我在 Visual Studio 2013 中构建我的 TestC 项目时,出现 lnk2001 错误;如果我注释掉#include Ch,这些就会消失 C 项目编译没有问题。
(Ah & Bh 有相应的 .cpp 定义的东西,但内容不相关,我不认为;它抱怨的每个功能都已在 .cpp 中定义(我可以单击“查看定义”和 VS将跳转到它。请原谅任何语法错误;我将其编写为伪代码,并且由于在编译语法后出现链接器错误,我很确定它们不存在于原始代码中。)
lnk2001错误是说他们在Ah中找不到虚函数的定义,也找不到Bh的构造函数、解构函数和一个函数(非虚函数)我可以打开A&B的.h/.cpp文件和查看它抱怨被定义的功能。TestC 的包含目录包含这些(我可以通过单击#includes 打开它们,所以它可以工作)。为构建顺序设置项目依赖项。从编程的角度来看,C 并不真的需要从 B 继承,但是上级做出了决定,而我的苦工无法改变它。我猜这与我不知道的继承和/或虚函数的一些细微差别有关。
我错过了什么?我觉得我已经阅读了大多数 Stack Overflow 文章......
编辑:每一个都在他们自己的项目中,除了TestC是一个.lib,TestC是一个.exe。当我在同一个项目中使用这个基本代码时,它编译没有错误,所以我认为这是 C 和 TestC 项目之间的问题。
c++ - 我怎样才能找到这个令人难以置信的神秘链接器错误的原因?
我正在研究 RPN 表达式的计算器,但我遇到了一个似乎无法解决的链接器错误。我正在尝试使用双重调度来选择正确的操作和值。我将从类层次结构的顶部开始向下移动,直到到达操作数。它不是从运算符派生的。
这些函数的定义从基类开始:
下一个派生类是 Operator,然后是 Operator 头中的 Addition:
这是我在操作员源代码文件中的实现:
这是操作数头文件中函数的声明:
整数派生自操作数,这是标题中类定义的一部分:
最后,我最终在整数源文件中定义函数:
我一直在阅读很多关于 C++ 链接器和链接器错误的材料,但我无法弄清楚这一点。我总是因为我正在做的愚蠢事情而收到链接器错误。任何人都可以发现问题吗?
谢谢
matlab - 使用 mex 时出错(第 206 行)无法成功完成
我正在尝试从此链接编译 cpp 文件,但收到以下错误:
有人可以帮我吗?
c++ - LNK2001 和 LNK2019 错误 - DirectX 无法解析的外部符号
我正在关注 Frank D. Luna 所著的“DirectX11 3D 游戏编程简介”一书。当我尝试构建我的项目时,我遇到了这些错误。
我必须获取 Effects11.lib 的源代码并为 VS2013 重建它,并且我已经包含并链接了我所知道的所有内容。不知道如何解决这些问题。
c++ - 错误 LNK2001 - VS2008 & Qt 构建
我正在尝试重建我从某人那里得到的 VS2008 项目,但我不知道有什么问题。
该项目依赖于 Boost 1_43 和 Qt-4.6.2 (我已经构建了 boost lib,它似乎还可以)。
通过在我的项目的属性中添加包含,我已经解决了关于 libs 路径的第一个问题。(源文件的路径在C++/General设置中添加,lib文件的路径在Linker/General设置中添加)。
但是现在我面对大量关于 Qt 对象的 LNK2001 错误,我无法单独找到问题所在。
任何的想法 ?也许我的 Qt insatll 中缺少一些东西?
c++ - Visual Studio 2010 中的错误 lnk2001
关于这个问题存在很多疑问。但我不明白我在做什么。
我从这里安装了 aruco_msvc10 。然后我使用以下步骤集成 vs2010:
- 创建 Win32 控制台应用程序
- 选择 Configuration Manager... 并添加 x64 平台
发布时,
3.1。在 Configuration Properties ---- C/C++ ---- Additional Include Directories 处,添加 aruco_msvc2010/include、msvc2010/include/aruco3.2. 在配置属性----链接器----附加库目录,添加库文件夹 aruco_msvc2010\lib
3.3 在配置栏,选择Release mode,添加aruco124.lib
- . 将 aruco_msvc2010\bin 添加到系统环境路径
然后我运行我的代码,我得到一个错误error LNK2001: unresolved external symbol "public: __cdecl aruco::MarkerDetector::MarkerDetector(void)" (??0MarkerDetector@aruco@@QEAA@XZ)
我的项目中只有一个 main.cpp 文件。我应该将 markerDetector.h 文件添加到项目中吗?
代码 :
c++ - 无法摆脱错误 lnk2001
嘿,伙计们,我需要一些认真的帮助。我有这个决赛,它会在 2 天零几个小时后到期。但是,我无法在程序结束时解决此 lnk2001 错误。请帮助我,我不知道如何解决。我在编码中留下了教师的愿望作为评论。
visual-c++ - 可以在 VS2010 或更新的项目中使用 VS2003 中内置的旧 vc6 .lib 吗?在一次重复的函数调用中出现 LNK2001 错误 (type_info::name)
我正在处理一个较旧的 c++ Visual Studio 2003 项目,该项目使用一个静态 .lib(其中的源代码已随时间丢失),我想将其移至 Visual Studio 2010 或更高版本。在 2010 年尝试构建时,有一堆 LNK2001 链接器错误,都指向相同的符号:
LNK2001:未解析的外部符号“__declspec(dllimport) >public: char const * >__thiscall type_info::name(void)const” (__imp_?>name@type_info@@QBEPBDXZ)
在进行了一些挖掘之后,似乎尝试在较新版本的 MS c++ 中使用较旧的静态库进行构建很麻烦或可能不可能,并且发生此特定错误是因为 VS2005+ 使用的较新 MSVCRT.dll 对 type_info:: 有不同的定义:名称(无效):
type_info::name(__type_info_node*)
这里有一个 MSDN 论坛问题,存在同样的问题,看来原始发帖人可能已经找到了解决方案 - 他至少可以构建它,但我无法使用将以下代码放入的解决方法来做到这一点该项目:
我尝试使用该代码以不同的方式构建 - 插入现有文件,新文件,并将其编译为 .obj 并使用 lib.exe 工具用所述 .obj 更新原始 .lib 然后构建,但所有尝试以原始错误或不同错误结束 - type_info::name 的重新定义错误。我对 c/c++ 和 VS 还很陌生,所以也许我遗漏了一些东西。
有谁知道解决此问题并构建更新版本的 VS 的方法?还是我坚持使用 2003 版本?