你如何编译C程序?

这可能是有史以来最新手的问题,但是你如何编译C程序呢?

我已经下载了C程序的源代码(确切地说是ffmpeg)。 我该如何编译?

对于大多数Unix风格的C程序,咒语是:

./configure make sudo make install 

这应该已经记录在INSTALL文件中,该文件还可能包含更多有用的信息。

对于单个文件只是cc file.c(或gcc或你调用的C编译器)

对于像ffmpeg这样的复杂项目,可以使用make,cmake,配置其他项目。 检查他们的文档

这取决于您拥有的操作系​​统和编译器,但通常顺序为:

 $ ./configure $ make $ sudo make install 

编译简单的数学程序,是不够的。 看到

 gcc file.c -lmath -o program_bin 

对于使用ffmpeg库的单个.c文件,可以这样做:

 gcc -Wall -g live_segmenter.c -o live_segmenter -lavformat -lavcodec -lavutil -lbz2 -lm -lz -lfaac -lmp3lame -lx264 -lfaad -lpthread -I/home/devicer/ffmpeg/include -L/home/devicer/ffmpeg/lib 

注意-L和-I选项。 在严肃的项目中,它们通常由pkg-config设置。

对于ffmpeg本身.. – 安装跛脚,其他一些必需的库,然后像克里斯说。 顺便说一句,有时它需要gmake,而不是make。

另外,看看

 ./configure --prefix /home/devicer/ffmpeg 

这是上面的分段编译中提到的(用于)。