运行 ./configure 时如何指定库的位置?
我四处搜索,认为答案在于设置 LDFLAGS 和 CPPFLAGS,但我不确定该怎么做。
具体来说,我已经编译了 libx264,现在我想编译 libav 并启用 libx264 支持,但不知道如何将 ./configure 指向我的 libx264 include 和 lib 文件夹。
谢谢。
运行 ./configure 时如何指定库的位置?
我四处搜索,认为答案在于设置 LDFLAGS 和 CPPFLAGS,但我不确定该怎么做。
具体来说,我已经编译了 libx264,现在我想编译 libav 并启用 libx264 支持,但不知道如何将 ./configure 指向我的 libx264 include 和 lib 文件夹。
谢谢。
有两种方法可以将配置变量传递给
./configure
,这在很大程度上取决于具体的项目,因此您必须查看文档。第一个是使用
--with...
脚本作者决定提供的选项。例如,xcircuit
在14.04中必须这样配置:另一种方法是将环境变量传递给脚本(在配置阶段)或 Makefile(在编译阶段):
或者
总之,这真的取决于作者如何编写软件。在你的情况下,你应该参考 libav 的特定文档。
谢谢指点。我做了更多的阅读并发现了如何做到这一点。解决方案有两个。
使用“--enable-shared”和“--enable-static”编译 x264。如果不指定“--enable-shared”,则从未找到该库。
指定 x264 生成过程生成的“lib”和“include”文件的位置,如下所示:-
./configure --extra-ldflags="-L/path/to/extra/lib" --extra-cflags="-I/path/to/extra/includes" --enable-x264 ..etc ..etc
我现在已经成功编译了 libav,支持 x264,并且有以下二进制文件:-
avconv、avplay、avprobe、avserver、ffmpeg。
当然,我确信如果我只是使用 apt-get 安装 libav,我会省去很多麻烦,但由于这是一个学习过程,我认为我学到了很多东西。