bash - 如何将 include 和 lib 路径添加到配置/制作周期?

标签 bash makefile linker configure autoconf

我需要一个地方来在我没有 su 访问权限的 linux box 中安装库。我正在使用 ~/local[/bin,/lib,/include],但我不知道如何告诉 ./configure 在那里寻找库(特别是,我正在尝试编译需要 libgif 的 emacs ,我的发行版中没有)。

我尝试添加

export PATH=$PATH:~/local/bin
export LD_LIBRARY_PATH=~/local/lib
export C_INCLUDE_PATH=~/local/include
export CPLUS_INCLUDE_PATH=~/local/include

到 .bashrc 但它似乎不起作用。

最佳答案

您需要一个 config.site 文件。尝试:

$ mkdir -p ~/local/share
$ cat << EOF > ~/local/share/config.site
CPPFLAGS=-I$HOME/local/include
LDFLAGS=-L$HOME/local/lib
...
EOF

每当您使用 --prefix=$HOME/local 调用 autoconf 生成的配置脚本时,将读取 config.site 并为您进行所有分配。 CPPFLAGS 和 LDFLAGS 应该是您所需要的,但您也可以进行任何其他所需的分配(因此上面示例中的 ...)。请注意,-I 标志属于 CPPFLAGS 而不是 CFLAGS,因为 -I 用于预处理器而不是编译器。

关于bash - 如何将 include 和 lib 路径添加到配置/制作周期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7561509/

相关文章:

c - '错误: variable has incomplete type' problem with linking

c - 如何解决这个链接描述文件错误?

发布版本中的 Swift 链接器错误可通过添加代码修复

bash - 不太无用的 "yes"bash 命令 : how to confirm a command in every loop

linux - 如何输出进程正在调用哪些文件?

bash - Bash 对话框中的空格

java - 具有 Jar 和包依赖项的 Makefile

c - 更新源代码时未构建 Makefile

c - 许多无效的符号索引和对 main 的 undefined reference

linux - hive 脚本(hivequery.hql)文件中的这个符号是什么意思 "use ${word:word}"