【发布时间】:2016-09-09 05:12:03
【问题描述】:
我认为这是一个基本问题,但是我找不到任何关于这个主题的足够帖子,或者我可能只是太愚蠢地正确搜索......
我在两个不同的解决方案中有两个项目。项目 A 是一个应用程序(.exe),使用像 ffmpeg(本机 C)这样的第三方库,项目 B 是一个 DLL,它想要使用项目 A 的代码(目的:AC# 项目假设通过项目使用项目 A 的功能乙)。 从我的角度来看,我只需要添加到项目 A 的包含路径,以便包含它的源文件并将链接器输入设置为项目 B .obj。 但是,在编译Project B时,MSVS找不到一个ffmpeg Header的头文件“libavutil/opt.h”:
#pragma once
extern "C"
{
#include <libavutil/opt.h>
#include <libavcodec/avcodec.h>
#include <libavutil/channel_layout.h>
#include <libavutil/common.h>
#include <libavutil/imgutils.h>
#include <libavutil/mathematics.h>
#include <libavutil/samplefmt.h>
}
fatal error C1083: Cannot open include file: 'libavutil/opt.h': No such file or directory.
我真的必须为那些 ffmpeg 库设置包含路径吗? 如果这样做,我会收到许多 LNK2001、2005 和 2019 错误。 有什么想法吗?
【问题讨论】:
-
您必须告诉它要在哪个目录中查找 libavutil/opt.h。如何执行取决于您使用的编译器