0

我正在尝试安装“quadrupel”,这是一个在 Solaris x86 上依赖 ffmpeg 的库。

我设法构建了 ffmpeg,它的库位于 /opt/gnu/lib 中,并且包含在 /opt/gnu/include 中,但是当我尝试构建 quadrupel 时,它找不到 ffmpeg 头文件。

需要哪些标志/配置才能将这两个目录包含在库和包含的正确搜索路径中?我不是一个 Makefile 黑客。

4

2 回答 2

5

我相信您需要在 Makefile 中添加以下内容:

CFLAGS  += -I/opt/gnu/include
LDFLAGS += -L/opt/gnu/lib -R/opt/gnu/lib

-I 参数告诉 gcc 在哪里可以找到包含文件。-L 标志告诉 ld 在链接时在哪里可以找到库。-R 标志将 /opt/gnu/lib 写入 quadrupel 二进制文件中的库搜索路径,因此它可以在启动时找到它的库。

于 2008-09-06T22:55:16.023 回答
1

您可以通过设置环境变量 LD_LIBRARY_PATH 来覆盖路径。但是,我建议您也更改系统路径,这样您就不必为所有用户更改库路径。这可以使用 crel 来完成。

crle -l -c /var/ld/ld.config -l /usr/lib:/usr/local/lib:/opt/gnu/lib

对于包含,只需将 -I/opt/gnu/include 添加到您的 CFLAGS 变量中。

于 2008-09-06T22:54:27.290 回答