我目前在学习Martin Bohme 教程的 ffmpeg教程
我想用Code Block IDE编译一个ffmpeg示例程序,但是它不能
#include <stdio.h> #include <stdlib.h> #include "libavcodec/avcodec.h" #include "libavformat/avformat.h" int main(int argc, char *argv[]) { av_register_all(); return 0; }
请帮帮我。 如何编译它。 我正在使用Linux(Ubuntu)
你必须告诉编译器头文件和库文件在哪里。 这是通过-I
标志来告诉哪些目录包含头文件,而-L
是告诉哪些目录包含库。 你还需要-l
来告诉哪个库链接。
标志可以像这样使用:
$ g ++ -I / path / to / headers myprogram.cpp -L / path / to / libraries -lthelibrary
关于库的说明:在Linux(和UNIX系统)上,它们是名称以“lib”开头并以扩展名“.a”或“.so”结尾的文件。 用-l
标志指定库时, 不要写这些。 因此,对于库文件“libfoo.a”,只能使用-lfoo
链接它。
有关gcc和g ++选项的更多信息,请参阅http://gcc.gnu.org/onlinedocs/gcc/Invoking-GCC.html 。
编辑:像Code :: Blocks这样的IDE最有可能是一些项目设置,你可以在其中添加包含和库目录和链接库。 检查“项目”菜单的“设置”或“属性”的选择。
编辑2:参见例如这个常见问题解答在哪里可以找到Code :: Blocks中的链接器设置,预处理器设置应该在附近。
你可以试试下面的命令在Linux下编译。
gss <program-name.c>
对于像Eclipse这样的IDE,请遵循FFMPEG – Eclipse安装指南[Linux]的官方