如何解决由于在Visual Studio中向c++项目添加.lib文件而导致的链接错误
How to resolve LINK errors due to addition of .lib files to a C++ project in Visual Studio?
我用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文件目录:
链接 -> 一般 -> 额外的库目录
- 如何指定我希望我的LIB链接到的DLL文件?-Visual Studio 2019
- CMake 生成的 MSVC 项目找不到符号,即使为其相关 dll 正确生成了 lib 文件也是如此
- 从 .lib 文件创建一个.dll文件
- 看不到文件'SDL2.lib'
- 可执行文件C++包括.obj,.lib和.dll吗?
- 我应该安装 .cmake 文件来共享/cmake 还是 lib/cmake?
- 链接:致命错误LNK1104:无法打开文件"python37_d.lib"
- 在 Windows 10 下使用 GTest 的 CMake - 致命错误 LNK1104:无法打开文件"gtest.lib",但存在调试"gtestd.lib"
- 链接器找不到导入的 DLL 的 LIB 文件
- LNK1104无法打开文件"legacy_stdio_definitions.lib"
- 有没有适用于Windows.lib文件的GNU二进制文件描述符(BFD)
- 在Qt中链接具有非标准名称的lib文件
- bitbake-grpc交叉编译/配置失败,错误为c-ares::care引用文件/usr/lib/libcares.s
- C++-在没有自定义.lib文件的情况下从Lua C模块调用Lua函数
- LNK 1104 无法打开文件 'glfw3.lib
- 是否可以将 EXE 文件作为 lib 文件链接到另一个项目?
- C++ CLR dll 需要 .lib 文件,但非 CLR 不需要
- G++ 无法链接 curl lib 文件
- 开放式阅读WAV文件lib
- LNK1104无法打开文件'...lib.obj'