如何解决由于在Visual Studio中向c++项目添加.lib文件而导致的链接错误

How to resolve LINK errors due to addition of .lib files to a C++ project in Visual Studio?

本文关键字:文件 lib 添加 项目 错误 链接 c++ 中向 解决 何解决 Studio      更新时间:2023-10-16

我用Visual Studio Pro 2012创建了一个新的c++项目。

我试图添加C语言1ib文件,但我得到一些链接错误,如:

Error 2 error LNK2019: unresolved external symbol _av_malloc@4 referenced in function _video_encode_example@4 D:C-SharpC++ CompilingConsoleApplication7ConsoleApplication7example.obj ConsoleApplication7

在我的部分,我去了"属性"在我的"项目名称"Solution Explorer,然后到Linker > Input,然后在顶部,在附加依赖我做了编辑并添加了所有的.lib文件:

avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
avutil.lib

我需要添加更多缺失的.lib文件吗?我又看了一遍,这些是我仅有的。lib文件。

我没有更改链接器中的任何其他内容。在vc++中,我将包含目录更改为:D:C-SharpC++ CompilingConsoleApplication4ConsoleApplication1include

include目录中,每个目录中都有一些目录以及一些头文件。

参考目录和库目录都更改为相同的目录:'D:c++devffmpeg-20130418-git-ee94362-win64-devlib'。在这个目录中有Lib文件,DEF文件和一些A文件。

如何解决这些错误?

**我在谷歌搜索我试图改变子系统控制台,但它没有帮助。**我已经有main函数了:

#include "stdafx.h"
#include "targetver.h"
int _tmain(int argc, _TCHAR* argv[])
{
    return 0;
}

我有8个链接错误,错误编号9是:

D:C- sharp c++ CompilingConsoleApplication7DebugConsoleApplication7.exe 11 ConsoleApplication7

我还能做些什么来解决这个问题?

** EDIT **

将项目目标更改为x64,现在我只有两个链接错误:

错误2错误LNK2019:在函数video_encode_example中引用的未解析的外部符号avcodec_open D:C- sharp c++ CompilingConsoleApplication7ConsoleApplication7example。obj ConsoleApplication7

错误3错误LNK1120: 1未解决的外部D:C- sharp c++ CompilingConsoleApplication7x64DebugConsoleApplication7.exe 11 ConsoleApplication7

尝试双击它们,但是没有效果。我不知道现在该怎么办。

我刚刚在你的问题中发现你正在使用ffmpeg库。

如果你想把这些链接到c++项目中,你必须确保你把#include语句包装在extern "C"块中,像这样:

extern "C"
{
    #include "avformat.h"   // etc. etc.
}

这将修复链接错误,确保导出的函数名在导入时没有被打乱。

尝试包含*。Lib文件目录:

链接 -> 一般 -> 额外的库目录