gpt4 book ai didi

makefile - Snow Leopard 上 FFMpeg 的 libavformat 位于哪里?

转载 作者:行者123 更新时间:2023-12-02 21:57:23 31 4
gpt4 key购买 nike

在获取 makefile 来查找我尝试编译的 .c 程序的正确库和头文件时遇到问题。我正在尝试为 Apple 的 HTTP Live Streaming 编译一个开源分段器,它需要 libavformat 和其他 FFMpeg 库来编译。我使用 Mac Ports 安装 FFMpeg,当我在命令行运行“which ffmpeg”时,它显示的目录是 opt/local/bin/ffmpeg,但经过搜索后,这似乎不是包含库的目录。

这些库似乎位于 opt/local/include 中,因为那是我看到头文件的地方。这是我的 makefile 和可疑目录:

all: gcc -Wall -g live_segmenter.c -o live_segmenter -I/opt/local/include -I/opt/local/bin -I/opt/local/include/libavutil -L/opt/local/include/libavformat -libavformat -L/opt/local/include -libavcodec -L/opt/local/include -libavutil -L/opt/local/include -libavcore -lbz2 -lm -lz -lfaac -lmp3lame -lx264 -lfaad -lpthread

clean:
rm -f live_segmenter

这是尝试编译后的输出:

gcc -Wall -g live_segmenter.c -o live_segmenter -I/opt/local/include -I/opt/local/bin - I/opt/local/include/libavutil -L/opt/local/include/libavformat -libavformat -L/opt/local/include -libavcodec -L/opt/local/include -libavutil -L/opt/local/include -libavcore -lbz2 -lm -lz -lfaac -lmp3lame -lx264 -lfaad -lpthread

ld: library not found for -libavformat
collect2: ld returned 1 exit status
make: *** [all] Error 1

我还尝试运行“ffmpeg -version”来查看 ffmpeg 是否正确构建,似乎是这样,所以我已经不知道该怎么做了。任何帮助或指出正确方向都会很棒。谢谢!

最佳答案

我认为你有太多的 -I 而没有足够的 -L。来自 Lion 上的 gcc(1):

-I dir 
Add the directory dir to the list of directories to be searched for
header files. Directories named by -I are searched before the standard
system include directories. If the directory dir is a standard system
include directory, the option is ignored to ensure that the default
search order for system directories and the special treatment of system
headers are not defeated.

-L dir
Add directory dir to the list of directories to be searched for -l.

-l<libname>是一个链接器指令,告诉 ld 包含 lib<libname>从 -L 目录列表中的任何位置。

试试这个:

gcc -Wall -g live_segmenter.c -o live_segmenter -I/opt/local/include -L/opt/local/lib -lavcodec -lavutil -lavcore -lbz2 -lm -lz -lfaac -lmp3lame -lx264 -lfaad -lpthread

关于makefile - Snow Leopard 上 FFMpeg 的 libavformat 位于哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5150365/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com