1. 属性->配置属性->C/C++->附加包含目录->添加库的include路径,比如“.\include”;
2 属性->配置属性->链接器->附加库目录->添加库的lib路径,比如".\lib";
3 属性->配置属性->链接器->输入->附加依赖项,比如"avcodec.lib";
4 如果是Debug版本,则在debug文件夹下将需要的dll文件复制进来;或者将dll文件复制到“C:\Windows\System32”文件下(当计算机系统是32位时)。
一般情况下,若以上步骤正确配置,则调用库函数则不会出现错误。
而有时候,编译时会出现如下问题:“error LNK2019: 无法解析的外部符号”,这个error产生的原因是由于库文件由C编成,而编译系统是C++,如果要对编译器提示使用C的方式来处理函数的话,则要使用extern "C"来说明。
举例说明:
将以下:
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#include <stdio.h>
改为:
extern "C"
{
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
#include <stdio.h>
}
本文介绍了如何处理在使用外部库时遇到的LNK2019错误,包括设置附加包含目录、附加库目录、附加依赖项以及处理C与C++编译兼容性问题。通过在头文件引入前使用extern "C"块,可以避免因编译器对C函数名修饰导致的链接错误。
5227

被折叠的 条评论
为什么被折叠?



