Solaris上的gcc如何找到其库?

时间:2020-03-05 18:48:48  来源:igfitidea点击:

我正在尝试安装" quadrupel",该库依赖于Solaris x86上的ffmpeg。

我设法构建了ffmpeg,它的库位于/ opt / gnu / lib中,而includes在/ opt / gnu / include中,但是当我尝试构建Quadrupel时,找不到ffmpeg标头。

在库的正确搜索路径中包括这两个目录时需要哪些标志/配置?我不是Makefile骇客。

解决方案

回答

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

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

对于include,只需将-I / opt / gnu / include添加到CFLAGS变量中即可。

回答

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

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

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