MFC 静态链接未解析的外部符号

     2023-02-22     207

关键词:

【中文标题】MFC 静态链接未解析的外部符号【英文标题】:MFC Static Linking Unresolved External Symbol 【发布时间】:2013-12-20 00:38:51 【问题描述】:

我正在尝试使用 Use of MFC:Use MFC in a Static Library 构建自定义版本的 GyazoWin,这会导致大量参考错误。

如何安抚 Visual Studio,以便我可以使用静态链接库进行构建?

更新

我设法将 user32 添加到链接库中(我认为),现在我的错误数量只有 1/3。谁能告诉我现在缺少什么库?

Error   2   error LNK2019: unresolved external symbol __imp__BitBlt@36 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z)  S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   3   error LNK2019: unresolved external symbol __imp__CreateCompatibleBitmap@12 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z)  S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   4   error LNK2019: unresolved external symbol __imp__CreateCompatibleDC@4 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z)   S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   5   error LNK2019: unresolved external symbol __imp__CreateFontW@56 referenced in function "long __stdcall LayerWndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?LayerWndProc@@YGJPAUHWND__@@IIJ@Z)   S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   6   error LNK2019: unresolved external symbol __imp__CreatePen@12 referenced in function "long __stdcall LayerWndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?LayerWndProc@@YGJPAUHWND__@@IIJ@Z) S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   7   error LNK2019: unresolved external symbol __imp__CreateSolidBrush@4 referenced in function "long __stdcall LayerWndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?LayerWndProc@@YGJPAUHWND__@@IIJ@Z)   S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   8   error LNK2019: unresolved external symbol __imp__DeleteDC@4 referenced in function "long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z) S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   9   error LNK2019: unresolved external symbol __imp__DeleteObject@4 referenced in function "long __stdcall LayerWndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?LayerWndProc@@YGJPAUHWND__@@IIJ@Z)   S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   10  error LNK2019: unresolved external symbol __imp__GetDeviceCaps@8 referenced in function "long __stdcall LayerWndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?LayerWndProc@@YGJPAUHWND__@@IIJ@Z)  S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   11  error LNK2019: unresolved external symbol __imp__GetStockObject@4 referenced in function "unsigned short __cdecl MyRegisterClass(struct HINSTANCE__ *)" (?MyRegisterClass@@YAGPAUHINSTANCE__@@@Z)   S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   12  error LNK2019: unresolved external symbol __imp__Rectangle@20 referenced in function "long __stdcall LayerWndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?LayerWndProc@@YGJPAUHWND__@@IIJ@Z) S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   13  error LNK2019: unresolved external symbol __imp__SelectObject@8 referenced in function "long __stdcall LayerWndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?LayerWndProc@@YGJPAUHWND__@@IIJ@Z)   S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   14  error LNK2019: unresolved external symbol __imp__SetBkMode@8 referenced in function "long __stdcall LayerWndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?LayerWndProc@@YGJPAUHWND__@@IIJ@Z)  S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   15  error LNK2019: unresolved external symbol __imp__SetTextColor@8 referenced in function "long __stdcall LayerWndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?LayerWndProc@@YGJPAUHWND__@@IIJ@Z)   S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   16  error LNK2019: unresolved external symbol __imp__TextOutW@20 referenced in function "long __stdcall LayerWndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?LayerWndProc@@YGJPAUHWND__@@IIJ@Z)  S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   17  error LNK2019: unresolved external symbol __imp__ShellExecuteExW@4 referenced in function "void __cdecl execUrl(char const *)" (?execUrl@@YAXPBD@Z) S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   18  error LNK2019: unresolved external symbol __imp__SHGetSpecialFolderPathW@16 referenced in function "class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __cdecl getId(void)" (?getId@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ) S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\gyazowin\gyazowin.obj gyazowin
Error   19  error LNK1120: 17 unresolved externals  S:\Software\Microsoft\Visual Studio\Projects\Completed (New)\gyazowin\Debug\gyazowin.exe    gyazowin

【问题讨论】:

这看起来很可疑,好像 user32.lib 和 shell32.lib 不在您的链接行中。 我用的C++不多,怎么添加文件?如果它解决了我的问题,那么它就是一个答案。 你需要 gdi32.lib 【参考方案1】:

对于来自平台库的功能:

    使用您喜欢的搜索引擎搜索函数的名称(例如“GetStockObject”)。

    在 MSDN 上查找该函数的文档(例如 GetStockObject)。它通常是最好的结果之一。

    在文档中的“要求”下,找到“库”条目。那是您必须链接到的库才能使用该函数(对于GetStockObject,它是 gdi32.lib)。

    重复直到解决所有错误。

【讨论】:

在我的情况下,我需要 accept 不包括 winsock2 - 在文件中使用 #pragma comment(lib, "Ws2_32.lib")

链接 OpenCV 失败,LNK 2019 未解析的外部符号

】链接OpenCV失败,LNK2019未解析的外部符号【英文标题】:LinkingOpenCVfailswithLNK2019unresolvedexternalsymbol【发布时间】:2019-03-2515:01:34【问题描述】:我知道,还有一些关于该主题的请求,但我想我已经做了一切,写在那里。我刚刚下... 查看详情

Visual Studio 2017 中的链接器错误(未解析的外部符号)

】VisualStudio2017中的链接器错误(未解析的外部符号)【英文标题】:LinkererrorinVisualStudio2017(unresolvedexternalsymbol)【发布时间】:2017-03-2023:04:27【问题描述】:我使用VisualStudio2017RC。我将所有这些文件添加到我的解决方案中:main.cp... 查看详情

未引用函数的“未解析的外部符号”

...的项目必须包含其他3个模块,以及那些不引用该函数以链接而不会出现“未解决的外部符号”错误的项目。 查看详情

C ++链接错误未解决的外部符号

】C++链接错误未解决的外部符号【英文标题】:C++linkingerrorunresolvedexternalsymbol【发布时间】:2012-03-0602:46:07【问题描述】:我有一个项目,其中包含来自不同项目的文件。我收到链接错误..."未解析的外部符号"public:_cdeclclassA::clas... 查看详情

eclipse cdt中未解析的外部符号

...-1015:20:14【问题描述】:我尝试使用eclipsecdt构建cpp文件。链接器抛出“未解析的外部符号”,但是包含函数实现的lib文件的路径列在Projectproperties-&gt;C/C++Build-&gt;Environment上的LIB环境变量中我 查看详情

带有 Catch 库的未解析外部符号

...udio项目构建良好,但新的CMake项目提供未解决的外部符号链接器错误。我在我的一个源文件中定义了CATCH_CO 查看详情

错误 LNK2001:未解析的外部符号 LIBID_

...2014-09-2718:16:40【问题描述】:我正在创建一个ATLComDLL。在链接期间我收到以下错误dllmain.obj:错误LNK2001:无法解析的外部符号LIBID_ATLProject4Lib以下是涉及的文件stdafx.h#include"targetve 查看详情

计算机系统篇之链接:静态链接(中)——符号解析(代码片段)

...过程链接器如何解析重复的全局符号名称链接器如何使用静态库来解析外部符号引用符号解析引发的问题符号解析的整体过程符号解析的目的是将每个符号引用与唯一的符号定义关联起来。符号解析的过程由编译器、汇编器和链... 查看详情

MSVS 错误 LNK2001:未解析的外部符号

...单项目。即使经过数小时的互联网研究,我也找不到解决链接错误的方法:1>------Buildstarted:Project:relayon,Configuration:Rele 查看详情

Windows 套接字封装 - 未解析的外部符号

...insockets,在构造函数中调用socket(af,type,protocol)函数时出现链接器错误。main.cpp#include"Server.h"intmain(intargc,char**a 查看详情

OpenGL未解析的外部符号VS 2013

...】:2016-05-0816:07:07【问题描述】:在VisualStudio2013上弹出链接器错误,我不明白为什么它会出现在我身上。我已经看到很多关于这个问题的问题,但似乎没有一个适合这里。背景:我正在使用OpenGL绘制一个小三角形。错误:Fehler1... 查看详情

未解析的外部符号 fabs, cos, sin

...018-01-1413:55:29【问题描述】:EDIT2:通过将libucrt.lib添加到链接选项解决了问题我正在尝试使用VisualC++2017编译器编译仅资源的DLL文件。这是我的命令行:cltest.cpp/link/dll/noentry"E:\\CXGE\\build\\Debu 查看详情

IAudioClient::Initialize 方法的未解析外部符号。 WASAPI API

...API工具启动并运行输入音频流记录示例。这是我的意思的链接:http://msdn.microsoft.com/en- 查看详情

由于 MySql 连接器 C++,如何修复未解析的外部符号?

...=215#hello。我在VisualC++2008和VisualC++2010上都试过了。无论是静态的还是动态的,编译器都给 查看详情

在运行时动态加载库时出现“未解析的外部符号”错误

...以动态加载B.dll在运行时。但是如果没有与B.dll的编译时链接,我在构建可 查看详情

未解析的外部符号 PriorityQueue [关闭]

】未解析的外部符号PriorityQueue[关闭]【英文标题】:unresolvedexternalsymbolPriorityQueue[closed]【发布时间】:2012-10-2819:17:14【问题描述】:谁能帮我解决这个问题。我正在尝试构建优先级队列,但不断收到未解决的外部符号错误。任何... 查看详情

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

...接错误LNK2019,带有__imp__前缀的未解析符号,但应该来自静态库【英文标题】:LinkingerrorLNK2019inMSVC,unresolvedsymbolswith__imp__prefix,butshouldbefromstaticlib【发布时间】:2011-04-1121:18:35【问题描述】:对于我为g++编写的项目,我在MSVC中遇... 查看详情

未解析的外部符号(构造函数)

】未解析的外部符号(构造函数)【英文标题】:unresolvedexternalSymbol(Constructor)【发布时间】:2014-04-2007:21:30【问题描述】:在构建时出现以下错误:main.obj:错误LNK2019:函数“main”中未解析的外部符号“”public:__cdeclWorker::Work... 查看详情