Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux,Eclipse C++,如何连接FFMPEG-LIBS到你的项目?_C++_C_Linux_Eclipse_Ffmpeg - Fatal编程技术网

Linux,Eclipse C++,如何连接FFMPEG-LIBS到你的项目?

Linux,Eclipse C++,如何连接FFMPEG-LIBS到你的项目?,c++,c,linux,eclipse,ffmpeg,C++,C,Linux,Eclipse,Ffmpeg,所以我从svn下载了FFmpeg。编译并安装到系统中。在/usr/local中创建。/lib和。/include。一个包含include,另一个包含libs,格式为*.a文件 < >我下载了Eclipse Helios C++并创建了新的简单项目。我把FFMPEG头包含到我的C++文件中。在C/C++内置设置的项目属性中,我声明了ffmpeg libs库搜索路径 我编写了一些简单的代码,从标题调用函数 但对于我使用的所有ffmpeg函数,它给了我eclipse看不到ffmpeg的错误 因此,我想

所以我从svn下载了FFmpeg。编译并安装到系统中。在/usr/local中创建。/lib和。/include。一个包含include,另一个包含libs,格式为*.a文件

< >我下载了Eclipse Helios C++并创建了新的简单项目。我把FFMPEG头包含到我的C++文件中。在C/C++内置设置的项目属性中,我声明了ffmpeg libs库搜索路径

我编写了一些简单的代码,从标题调用函数

但对于我使用的所有ffmpeg函数,它给了我eclipse看不到ffmpeg的错误


因此,我想知道如何将ffmpeg LIB连接到我的项目,或者是否有任何方法可以将ffmpeg编译成.a,并且可以与.a一起使用。因此?

您需要将它们与代码链接起来。在make文件中使用-l和-l gcc命令行参数,或者编辑Eclipse项目的属性,转到项目属性->C/C++->构建->设置->gcc C++->链接器->库。

如果所需的include和库分别位于/usr/local/include和/usr/local/lib中,似乎包含和库路径,这些目录通常位于默认搜索路径中


验证您没有使用lib。。。指定要链接到的库时,默认情况下会预先设置此选项,例如使用libabc。a只需在项目设置的库列表中指定abc即可。

如果您遇到的是编译错误而不是链接器错误,请确保libav*文件夹位于/usr/local/include中,并在文件夹名称中包含ffmpeg头

#include libavformat/avformat.h 
#include libavcodec/avcodec.h
// ...
您必须将/usr/local/include定义为包含目录,而不是其中的libav*文件夹。这是必需的,因为ffmpeg头本身以这种方式引用其他头

这取决于平台。 您必须使用所有正确的标志mingw/或cygwin正确配置ffmpeg库。您将获得eclipse可识别的.a文件。 正如LittledV所说,您必须配置ffmeg库的路径。在项目->构建属性-IncludeFmpeg文件夹和您的mingw/cygwin本地包含和链接器设置avformat avcodec avfilter avdevice swscale postproc中。 不要忘记在操作系统中设置path变量。Eclipse接受这个。路径应指向lib并包含/local mingw/cygwin。
我在ubuntu 12.04上也遇到了同样的问题,我通过以下方式编译ffmpeg和x264解决了这个问题: 我删除了ffmpeg和x264的文件夹,然后在终端中键入:

sudo apt-get remove ffmpeg x264
sudo apt-get autoremove
然后

sudo apt-get update
sudo apt-get upgrade
然后

安装x264

sudo git clone git://git.videolan.org/x264.git
cd x264
sudo ./configure --enable-shared --prefix=/usr/local
sudo make
sudo make install
cd ..
安装libvpx

sudo wget http://webm.googlecode.com/files/libvpx-v0.9.7-p1.tar.bz2
sudo tar xvjf libvpx-v0.9.7-p1.tar.bz2
cd libvpx-v0.9.7-p1
sudo ./configure --enable-shared --prefix=/usr/local
sudo make
sudo make install
cd ..
检查/etc/ld.so.conf是否包含/usr/lib和/usr/local/lib行。如果没有,则添加并保存它们

然后跑

sudo ldconfig
安装ffmpeg

sudo wget http://ffmpeg.org/releases/ffmpeg-0.8.10.tar.bz2
sudo tar xvjf ffmpeg-0.8.10.tar.bz2
cd ffmpeg-0.8.10
./configure --enable-gpl --enable-version3 --enable-nonfree --enable-postproc --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-shared --prefix=/usr/local
sudo make
sudo make install
cd ..
sudo ldconfig
在项目中,应以以下方式包含标题:

#include<libavformat/avformat.h>
#include<libavcodec/avcodec.h>
在eclipse中,您应该将ffmpeg库添加到您的项目中:avutil、avformat、avcodec、m、z。。。进入project->properties->C/C++->Build->Settings->GCC C++->Linker->Libraries

我希望这对你有用

#include<libavformat/avformat.h>
#include<libavcodec/avcodec.h>