错误 LNK2019:无法解析的外部符号“extern”C”这是啥错误?

Posted

技术标签:

【中文标题】错误 LNK2019:无法解析的外部符号“extern”C”这是啥错误?【英文标题】:error LNK2019: unresolved external symbol "extern "C" what is this error?错误 LNK2019:无法解析的外部符号“extern”C”这是什么错误? 【发布时间】:2012-12-19 08:25:53 【问题描述】:

我试图将 cimg 库包装在 c++/clr 中,当我尝试构建它时,我得到了一堆链接错误。

 Error  20  error LNK2028: unresolved token (0A0002AC) "extern "C" int __stdcall DestroyWindow(struct HWND__ *)" (?DestroyWindow@@$$J14YGHPAUHWND__@@@Z) referenced in function "public: void __thiscall cimg_library::CImgDisplay::_desinit_fullscreen(void)" (?_desinit_fullscreen@CImgDisplay@cimg_library@@$$FQAEXXZ)   c:\Users\serakpc\documents\visual studio 2012\Projects\CimgWrapper\CimgWrapperCLI\Stdafx.obj    CimgWrapperCLI

Stdafx.h 中的源代码

#pragma once

#include "cimgheader\CImg.h"

【问题讨论】:

【参考方案1】:

仅包含标题是不够的。如果您有一个静态编译库,则需要将它包含在您的解决方案中,以便链接器能够找到二进制代码并生成可执行文件。如果您有库的源代码,则需要将其包含在解决方案中并使用您自己的代码进行编译。

【讨论】:

是个好主意,但问题是它没有外部源代码,实现在一个巨大的头文件中....如果你想在这里查看链接@987654321 @ @user1250098 您需要源代码(无论是在头文件中还是在 cpp 文件中)来编译,或者需要静态二进制库来链接,或者需要动态二进制库来在运行时寻址。这些是解决外部代码的唯一方法。 好吧,我试了一下,但它在 win32 项目中运行良好,这让我抓狂。我认为每个原生 c++ 世界在 clr 中都很好,但事实并非如此;

以上是关于错误 LNK2019:无法解析的外部符号“extern”C”这是啥错误?的主要内容,如果未能解决你的问题,请参考以下文章

error LNK2019: 无法解析的外部符号

error LNK2019: 无法解析的外部符号,麻烦帮忙看看这个错误是怎么回事?

error LNK2019: 无法解析的外部符号 求解答..

python setup.py安装错误LNK2019:函数致命错误LNK1120中引用的无法解析的外部符号fmin:

错误 LNK2019:使用类编译程序时出现无法解析的外部符号错误消息

关于我遇到的“LNK 2019无法解析的外部符号”的链接错误