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

0 投票
1 回答
2191 浏览

visual-studio-2010 - 错误 LNK2001:未解析的外部符号“公共:无效 __thiscall

我正在使用 MFC 编写 Windows 程序。我在创建项目时使用了这些设置。
文件 -> 新建项目 -> MFC 应用程序
,在 MFC 应用程序向导中我选择了:
应用程序类型:基于对话框
资源语言:英语(美国)
使用 Unicode 库
项目风格:MFC 标准
使用 MFC:在静态库中使用 MFC
主框架样式:粗框,系统菜单和关于框打勾
高级功能:ActiveX控件,通用控件清单和支持重启管理器打勾
对话框标题:P2
生成的类:Cp2App和Cp2Dlg
我还没有在项目中添加任何代码. 我刚刚在表单中添加了控件:

在此处输入图像描述
但是当我尝试运行该项目时,我得到了错误:
1-error LNK2001: unresolved external symbol "public: void __thiscall CP2Dlg::OnBnClickedButton2(void)" (?OnBnClickedButton2@CP2Dlg@@QAEXXZ)
2-error LNK1120: 1未解决的外部问题
我知道我可以开始一个新项目来避免错误。但我想知道是什么原因导致这个问题并解决它?

注意:第一个错误出现在 P2Dlg.obj 中,第二个出现在 P2.exe 文件中。

编辑部分:实际上我认为这个错误是因为我不小心双击了Button2并创建了事件处理程序BnClickedButton2并将其删除。现在我尝试再次创建此事件处理程序,但我不能,因为当我右键单击 button2 并在事件处理程序向导中选择添加事件处理程序时,该选项BN_CLICKED处于非活动状态。
我想知道如何解决这种问题。请帮帮我?

编辑的第 2 节:我在 P2.cpp 文件中添加了这个函数,Add EventHandler但这并没有解决问题:

应该添加该功能CP2Dlg::OnBnClickedButton2,但我无法添加它。不活动了??????

0 投票
1 回答
2096 浏览

c++ - LNK2001 和 LNK1120 在编译链接 x86 静态库的 x64 动态库时

我最近被分配到一个 c++ 项目,虽然我不是 c++ 开发人员。我获得了 Visual Studio 2010 Professional 作为 IDE。所以我试了一下。

我要编写一个包含两个静态库 (*.lib) 的 c++ 动态库 (*.dll)。静态库是我们几年前从另一家公司购买的第三方库。使用dumpbin /header ...cmd 调用,我可以说这两个静态库都具有以下文件头值:

我让这个任务为 Win32 解决方案平台工作。我将头文件和库添加到项目中。这些库是通过在.cpp 中编写两个#pragma comment(lib, ...)语句来包含的,我需要这些函数。就像一个魅力。示例函数如下所示:

这个动态库也将用于 x64 架构。所以我尝试将解决方案平台设置为x64。现在,对于静态库函数之一的每次调用,我都会收到以下错误(没有进行代码更改或其他配置更改):

接着是一个总结错误:

这些错误可能是尝试在 x64 dll 中链接 x86 lib 文件的结果吗?是否有机会使用提供的静态库完成此任务?

非常感谢您提前。

0 投票
1 回答
1265 浏览

visual-studio-2010 - 为什么我的cpp文件不在ClCompile索引中,导致LNK2019和LNK2001错误?

我在 VS 2010 中收到 LNK2019 和 LNK2001 错误,但在 g++ 中没有。我四处寻找原因,但一切都在谈论确保包含正确的标题、正确定义的功能等。

进入项目目录并打开 .vcxproj 文件后,我看到了这个列表:

pilElement 是具有链接器错误的 pilElem3 和 pilElem4 的父类。
自创建以来,我没有更改任何过滤器或更改项目。
a) 为什么 VS 认为这个文件应该被忽略?
b) 我怎么能早点注意到这一点?

0 投票
1 回答
353 浏览

c++ - 为什么字符串数组会导致 LNK2001 错误?

我主要是 C# 程序员,但我需要用 C++ 完成这个项目,所以我可能会遗漏 C++ 数组的一些东西。

我有一个我一直在处理的 DLL,女巫正在工作并连接到处理用户界面的项目中。在 DLL 中,我尝试创建一个记录器类,以便将信息调试到接口中。但是当我尝试使用字符串数组时,我得到了 LNK2001 错误。Bellow 是我的课程头文件。

如果我删除字符串数组,错误就消失了,但我需要一种方法来存储我的日志消息

0 投票
3 回答
3584 浏览

c++ - VS 2012 错误 LNK2001:无法解析的外部符号

我现在正在研究 Vertorization 性能测试,但遇到以下错误

1>ConsoleApplication2.obj:错误 LNK2001:未解析的外部符号“私有:静态联合 _LARGE_INTEGER Timer::m_freq”(?m_freq@Timer@@0T_LARGE_INTEGER@@A) 1>ConsoleApplication2.obj:错误 LNK2001:未解析的外部符号“私有: static __int64 Timer::m_overhead" (?m_overhead@Timer@@0_JA) 1>c:\users\lara feodorovna\documents\visual studio 2012\Projects\ConsoleApplication2\Debug\ConsoleApplication2.exe : 致命错误 LNK1120: 2 unresolved externals

---------------timer.h(我手动添加)---------------

---------------------ConsolApplication2.cpp---------------------

请帮我

0 投票
1 回答
1502 浏览

visual-studio-2010 - LNK2001 错误 opengl Visual Studio 2010

我正在使用 Visual Studio 2010。

我收到了这个错误信息:

这是我的程序

我想我已经正确安装了 glut、freeglut 和 glew,我已经编辑了我的链接器,但它仍然是错误的。我将 glut、freeglut 和 glew 文件夹放在我的项目和我的视觉工作室中,但它仍然显示该错误。对于我可以编译的第一个项目,现在我正在使用 Angle.h,它无法编译

0 投票
0 回答
40 浏览

visual-studio - 尝试从 32 位版本编译 x64 程序时出现 783 错误

我开发了一个可以在32 位版本的Visual Studio Express上正常工作和编译的程序

当我尝试为x64编译时,我有很多错误

在此处获取列表:http: //pastebin.com/xBx9MHmr

我正确移动了包含文件并将其调整为x64

我只使用libsndfilewxwidgets 2.8

这是我的包含页面:

图书馆页面:

请帮我

杰夫

0 投票
0 回答
767 浏览

c++ - C++ Node.js - got error LNK 2001

have problem with an unresolved extern.

the problem -> an header (myImpressiveHeaderFile.h) file tolds that he cannot find a symbol. But another file (holys_i.c) a c-file exists in this project and holds this symbols.

if i create a new win32-console-project (empty) and add these files (and a third file, with a main function and include the header file) it works perfectly.

BUT -> if i let node-gyp build the project (same files except main file xD that is a node spcefic file with v8.h and node.h - but included header file too) - i got errors (LNK 2001 see above).

it seems that the linker gots the c-file not or later if i create it with node-gyp? or does node-gyp not compile c-files? that cant be? or?

Do you have any ideas what i can do/test/check?

EDIT (add example):

First Example (works)! Header File (1) (added sth like an extern var - name top.h)

EXTERN_C const IID IID_IOPCServer;

C-File (defined the var - name top_i.c)

Another Header File (2) (included Header File 1 - top.h - do nothing relevant - name stop.h)

CPP File of Header File (2) (included Header File 2 - used var - name stop.cpp)

Main CPP File (includes Header File 2 - dont used var - name test.cpp) This Fule uses Functions of stop.cpp. Ans stop.cpp used the extern var.

When i add these file to a empty win32 console project - it works. ALL FINE!

BUT in other example

(same top.h, same top_i.c, same stop.h and same stop.cpp) i let node-gyp build.

Binding Gyp:

inside of test.cpp sth like this:

This Example fails Oo

0 投票
1 回答
429 浏览

c++ - 命名空间内有变量的错误 LNK2001

我有 2 个文件:

  1. 层1.h

  2. 第1层.cpp

在 tier1.h 我有:

在 tier1.cpp 中定义了函数。一些函数位于重叠的命名空间中,例如:universal::extG::。这些函数使用在 variab 命名空间中找到的变量。

在要找到 main 的源文件中,包含 tier1.h。

当我尝试编译程序时,它给了我指向在 variab 命名空间中找到的变量的错误。错误在任何地方都是一样的。这是它的外观:

问题出在哪里?

0 投票
4 回答
1437 浏览

c++ - 创建对象时未解析的外部符号

我正在尝试运行一个访问 3 个不同类的 main.cpp。出于某种原因,我收到了一个未解决的外部符号错误。从我在网上看到的情况来看,它显然是某个地方的链接错误,但我找不到它。我在下面列出了错误,但其中包含很多信息,我很难找出它的确切含义。

错误:main.obj:-1:错误:LNK2001:无法解析的外部符号“public:__thiscall AtpReader::AtpReader(class std::basic_string,class std::allocator >)”(??0AtpReader@@QAE@V? $basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)

我的代码是:

主.cpp:

AtpReader.h:

atp.h:

和 AtlasObject.h:

我的 AtpReader.cpp 是: