首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在可视化C++应用程序中添加外部C库- "Error LNK2028“和"Error LNK2019”

在可视化C++应用程序中添加外部C库时,可能会遇到"Error LNK2028"和"Error LNK2019"的错误。

"Error LNK2028"是链接器错误,表示找不到对应的函数定义。这通常是由于函数声明和函数定义不匹配导致的。要解决这个错误,可以检查函数声明和定义是否一致,包括函数名、参数类型和返回类型。

"Error LNK2019"也是链接器错误,表示找不到对应的符号。这通常是由于缺少对应的库文件或库文件路径设置不正确导致的。要解决这个错误,可以检查库文件是否正确添加到项目中,并确保库文件路径正确设置。

对于可视化C++应用程序中添加外部C库的问题,可以按照以下步骤进行操作:

  1. 将外部C库的头文件添加到项目中。可以在项目属性的"C/C++" -> "常规" -> "附加包含目录"中添加头文件所在的路径。
  2. 将外部C库的库文件添加到项目中。可以在项目属性的"链接器" -> "常规" -> "附加库目录"中添加库文件所在的路径。然后在"链接器" -> "输入" -> "附加依赖项"中添加库文件的名称。
  3. 确保外部C库的版本与项目使用的编译器版本兼容。如果版本不兼容,可能会导致链接错误。
  4. 检查函数声明和定义是否一致。确保函数名、参数类型和返回类型都匹配。
  5. 如果仍然遇到链接错误,可以尝试重新生成解决方案或清理项目并重新生成。

对于可视化C++应用程序中添加外部C库的优势是可以利用现有的C库来扩展应用程序的功能,提高开发效率和代码重用性。应用场景包括但不限于图形处理、数学计算、网络通信、音视频处理等。

腾讯云相关产品中,与C++应用程序开发相关的产品包括云服务器、云数据库、云存储等。具体产品介绍和链接地址可以参考腾讯云官方网站的相关文档和产品页面。

注意:本答案仅供参考,具体的解决方法和推荐产品需要根据实际情况进行判断和选择。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

lnk2019无法解析的外部符号_declspec_error lnk1120无法解析的外部命令

1.前言 error LNK2019: 无法解析的外部符号这个错之前见过很多次,能知道最根本的原因在于链接过程没有搜索到程序用到的文件,即*.lib。...iEndDocPort@@YGHPAX@Z) 中被引用 1>p2jpg.obj : error LNK2019: 无法解析的外部符号 “void __cdecl jpeg_destroy_compress...已经确信所有的依赖文件都已经正确加载,为什么还会出现这个问题??? 本文重点归纳error LNK2019出现的原因,并提供相应的解决办法。...解决办法如下: VC6: 工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项 工程、设置、Link、分类:Input、附加路径:填写附加依赖所在目录...分号间隔多项 工程、设置、Link、分类:Input、对象/模块:填写附加依赖的名字.lib 空格间隔多项 VS20xx: 项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项

1.6K20

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

1>------ 已启动生成:  项目: CGALTEST510, 配置: Debug x64 ------ 1>CGALTEST510.obj : error LNK2019: 无法解析的外部符号 "...__Eerrno_ecat@system@boost@@YAXXZ) 中被引用 1>CGALTEST510.obj : error LNK2019: 无法解析的外部符号 __imp___gmpn_copyi...,在网上搜索相关或模块下载安装,然后将其所在目录填写到“附加依赖所在目录”,将其名字添加到“附加依赖,重新连接。...VC6: 工程、设置、C/C++、分类:Preprocessor、附加包含路径:填写附加头文件所在目录 逗号间隔多项 工程、设置、Link、分类:Input、附加路径:填写附加依赖所在目录 分号间隔多项...工程、设置、Link、分类:Input、对象/模块:填写附加依赖的名字.lib 空格间隔多项 VS20xx: 项目、属性、C/C++、附加包含目录:填写附加头文件所在目录 分号间隔多项 项目

45730

error link2019无法解析的外部符号_inferior

error LNK2019问题在VC 6.0error LNK2001: unresolved external symbol问题,可能错误号改了。...编译时出现类似这样的错误:Dlgcode.obj : error LNK2019: 无法解析的外部符号 _readRegmark,该符号函数 _AboutDlgProc@16 中被引用。...3、你自己写的函数声明的头文件也写了函数定义的cpp文件也加入工程了而且你很确定函数体肯定是在这个文件,却依然出现LNK2019错误。...可能原因:C语言和C++语言混编,因为C++支持函数重载所以C++编译器生成的文件的函数名会面目全非,例如C编译器会生成 _readRegmark 这个函数名,而C++编译器则生成了”void __...当你的函数是用C语言写的,VS编译器会按C语言规则编译,但链接器却不知道还傻傻的用C++规则的函数名去找结果就找不到了,而你还百般肯定TM的不就在这个吗你个睁眼瞎。

1.6K20

C++:无法解析的外部符号问题 与 头文件包含注意要点

前要 由于种种原因,很长时间没有完整地编写一个C++程序。近期编写的程序都是简单地算法实现程序简略的模拟程序,对于C++的许多特性都变得模糊不清。...无法解析的外部符号 当我进行调试时,就会出现如下的错误信息: 1>UserOpenedFile.obj : error LNK2019: 无法解析的外部符号 “public: __thiscall...[4]没有c++包含目录目录加入相应的类包路径 [5]测试工程中被测文件目录可能需要包含被测类的cpp定义文件 [6]ICE接口测试时,无法解析可能因为被测文件没有包含进相关的cpp文件...[9]error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW 工程属性,C/C++,代码生成,运行时选择MDd, # 引用于http://blog.csdn.net...当类声明引用的是其他类的实例时,上述原则变不能保持,只 有该类的声明头文件引用所引用的类或者函数的头文件。

4.3K21

error LNK2019: 无法解析的外部符号的几种情况探讨

error LNK2019: 无法解析的外部符号,这种问题在windows C++编程,很多人应该都遇到过,那出现这个问题一般有哪些情况呢?...对于lib是要链接到exe程序的,如果在链接的时候,找不到函数对应的符号所在的lib,那就会报error LNK2019: 无法解析的外部符号,有的时候还会提示,什么地方调用了,如下所示: error...LNK2019: 无法解析的外部符号 _XXXXX,该符号函数 _FFFFF中被引用。...情况二,一个工程,有很多个子工程,然后,每个工程中都有一些公共的头文件,比如define.h,error.h等,当把这些合到一个工程编译的时候,可能会把每个子工程的include目录放在附加包含目录...情况三,工程是一个目录比如,project/test/test.vcproj,而引用函数的实现目录在project/test1/file.cpp,这种情况下也会报error LNK2019: 无法解析的外部符号

5.5K20

无法解析的外部符号问题小结

问题1:在编写通信相关程序,引用了一个静态(该静态编译没有问题,并被其他项目引用),该是对SOCKET的一个封装。...基本结构如下: 属性添加了该的引用后,编译仍然报错,错误如下: safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _...AVSocket@2@XZ) 中被引用 1>safmq2005.lib(tcpsocket.obj) : error LNK2019: 无法解析的外部符号 _WSAStartup@8,该符号函数...1_WSAINIT@@QAE@XZ) 中被引用 后来发现,stdafx.h文件添加如下语句就OK了 #include #prama comment(lib, "ws2...初步解释: 静态只是把自己工程的文件编译成.obj文件,再将.obj文件整合成静态,其中并没有包含ws2_32.lib.所有要 AppProject包含ws2_32.lib.

2.9K10

Visual Studio下程序开发: error LNK2019: 无法解析的外部符号

error LNK2019: 无法解析的外部符号 error LNK2001: 无法解析的外部符号 1>CClipVideo.obj : error LNK2019: 无法解析的外部符号 _avformat_alloc_output_context2...: 无法解析的外部符号 _avformat_open_input 1>CClipVideo.obj : error LNK2019: 无法解析的外部符号 _av_read_frame,该符号函数 "protected...1>CClipVideo.obj : error LNK2019: 无法解析的外部符号 _av_seek_frame,该符号函数 "protected: int __thiscall CClipVideo...: error LNK2019: 无法解析的外部符号 _avformat_close_input,该符号函数 "protected: int __thiscall CClipVideo::ClipVideo...解决问题 出现问题的情况, 一般是工程里引用了外置的相关函数,链接里没有指定的路径或者是定义函数的.cpp文件没有加入到工程

2.9K10

连接器工具错误lnk2019_2019年十大语文错误

6.函数声明函数定义之间的调用约定不同 7.符号 C 文件定义,但未 :::no-loc(extern)::: c + + 文件中使用 “C” 进行声明 7.符号定义为 :::no-loc(...static)::: ,稍后文件外部引用 8....同样,如果在 C 程序将使用的 C++ 文件定义符号,请在定义中使用 :::no-loc(extern)::: “C” 。...7.符号定义为 :::no-loc(static)::: ,稍后文件外部引用 c + + ,与 C 不同, global :::no-loc(const)::: 蚂蚁有 :::no-loc(static...第三方问题 vcpkg 如果尝试在生成过程配置第三方时遇到此错误,请考虑使用vcpkg(c + + 程序包管理器)安装生成。 vcpkg 支持较大和不断增长的第三方列表。

4.1K20

lnk2001 lnk1120_lnk1120

当试图从文件外部访问任何没有该文件内声明的静态变量时将导致编译错误或LNK2001。   函数内声明的变量(局部变量) 只能在该函数的范围内使用。   C++ 的全局常量只有静态连接性能。...二.由于编译链接的设置而造成的LNK2001   1.如果编译时使用的是/NOD(/NODEFAULTLIB)选项,程序所需要的运行库MFC连接时由编译器写入目标文件模块, 但除非在文件明确包含这些名... Visual C++ .NET 2003 ,如果使用了 /clr 而未将 CRT 链接到可执行文件,将生成此错误。...符号定义在编译为 C 程序的文件,而符号是 C++ 文件不带 extern “C” 修饰符声明的。...要使代码 Visual C++ 的 Visual Studio .NET 2003 Visual Studio .NET 版本均有效,请显式指定友元函数的模板参数列表。

98920

无法解析外部符号

[4]没有c++包含目录目录加入相应的类包路径 [5]测试工程中被测文件目录可能需要包含被测类的cpp定义文件 [6]ICE接口测试时,无法解析可能因为被测文件没有包含进相关的cpp文件...,另外,TestSuite_ProjectRun.h文件需要包含IProjectRun.h头文件,及相关的头文件(举例)。...__imp ProjectRun.obj : error LNK2019: 无法解析的外部符号 __imp__StartHistoryLocalModule,该符号函数 “protected: virtual...DoStart@CProjectRun@HiRTDB@@MAEHXZ) 中被引用 [9]error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW 工程属性,C.../C++,代码生成,运行时选择MDd, [9]无法解析的外部符号”_declspec(dllimport) public: int __thiscall HiRTDB::CTagTree::GetObjectA

2.6K20

编译链接过程中出现“无法解析的外部符号”,原因及解决办法总结

1、错误为:error LNK2019: 无法解析的外部符号 ___report_rangecheckfailure,该符号函数 _OBJ_create_objects 中被引用 原因:__report_rangecheckfailure...是用来检查堆栈缓存溢出的,如果编译的时候打开GS(project property–》Configuration properties–》c/c++–》Code generation–》Buffer...具体实现在window下的运行时文件msvcrt.dll。...解决办法:打开项目属性,C/C++——代码生成——安全检查——禁用安全检查(GS) 2、可以明确知道无法解析的外部符号是某个自己编译的动态链接的时候,多半是动态链接引入不正确,不正确的原因: (1)...》还可能是编译用的位数编译项目用的位数不同。 如果项目编译是32位,编译用的是64位,那肯定会直接抛出错误的。

1.4K10

关于各种无法解析的外部符号问题的相应解决方案

使用vs2008调试程序的过程,经常会出现无法解析的外部符号问题,可能的原因有很多种,下面这些是我一年来积累的经验. 仅供参考....[4]没有c++包含目录目录加入相应的类包路径 [5]测试工程中被测文件目录可能需要包含被测类的cpp定义文件 [6]ICE接口测试时,无法解析可能因为被测文件没有包含进相关的cpp文件...__imp ProjectRun.obj : error LNK2019: 无法解析的外部符号 __imp__StartHistoryLocalModule,该符号函数 “protected: virtual...DoStart@CProjectRun@HiRTDB@@MAEHXZ) 中被引用 [9]error LNK2001: 无法解析的外部符号 __imp___CrtDbgReportW 工程属性,C.../C++,代码生成,运行时选择MDd, [9]无法解析的外部符号”_declspec(dllimport) public: int __thiscall HiRTDB::CTagTree::GetObjectA

68610

C++调用C函数

Test.obj : error LNK2019: 无法解析的外部符号 "void __cdecl DeleteStack(struct _Node *)" (?...刚开始,我简单地C++源文件的前面使用该语句声明,但是还是出错,而且是在编译阶段就报错。 error C2732: 链接规范与“DeleteStack”的早期规范冲突。 为什么会出现这个错误呢?...因为C++源文件已经引入了C的头文件,头文件里,声明该函数时没有extern修饰,而这里有extern修饰,所以冲突了。解决的办法有两个。 一。C头文件中加上extern修饰符。 直接加,也不行。...所以只有编译C++时,才有符号extern “C”。 此外,链接指示extern "C"有单个复合两种形式。...编写一个C++风格的头文件,在这里添加extern修饰符。 使用方法一,很简单。但是如果该头文件是别人写好,你无法修改。这个时候就要使用其它方法了。

2.8K40

vs2010 lnk2019无法解析的外部命令_vs无法解析的外部符号

关于错误:error LNK2019 :无法解析的外部符号。网络方法很多,自己按照各种方法测试后依然不能解决。最后想到,已经编译好的项目配置一项一项的作对比,来看看到底哪里出错了。...1>api.obj : error LNK2019: 无法解析的外部符号 __imp__WSAGetLastError@0,该符号函数 “public: int __thiscall CUDTUnited...1>api.obj : error LNK2019: 无法解析的外部符号 __imp__WSAStartup@8,该符号函数 “public: int __thiscall CUDTUnited::startup...startup@CUDTUnited@@QAEHXZ) 中被引用 1>api.obj : error LNK2019: 无法解析的外部符号 __imp__WSACleanup@0,该符号函数 “public...cleanup@CUDTUnited@@QAEHXZ) 中被引用 1>api.obj : error LNK2019: 无法解析的外部符号 __imp__getsockname@12,该符号函数 “

2K20

lmdb编译过程中出现无法解析的外部符号 NtCreateSection

在为Caffe编译lmdb.lib的过程,碰到了下面的问题、 error LNK2019: 无法解析的外部符号 NtClose,该符号函数 mdb_env_map 中被引用 D:\google-jar...\liblmdb \mdb.obj error LNK2019: 无法解析的外部符号 NtCreateSection,该符号函数 mdb_env_map 中被引用 D:\google-jar \liblmdb...\mdb.obj error LNK2019: 无法解析的外部符号 NtMapViewOfSection,该符号函数 mdb_env_map 中被引用 D:\google-jar \liblmdb\...mdb.obj 主要原因在于缺少了ntdll.lib文件,可以去网上百度一下去下载,然后添加到附加依赖项重新编译lmdb即可,当然配置caffe时也需要把这个文件加到3dparty/lib目录下...,添加到caffe的附加依赖项

1.1K10
领券