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

我设法构建 ffmpeg 及其库位于 /opt/gnu/lib 中,包含内容位于 /opt/gnu/include 中,但是当我尝试构建 fourrupel 时,它找不到 ffmpeg 标头。

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

有帮助吗?

解决方案

您可以通过设置环境变量 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 变量中。

其他提示

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top