我正在尝试在Unix操作系统上编译一个名为Clustal Omega的程序。我没有root访问权限。 Clustal Omega需要argtable2进行编译。我在自己的home/user/bin/中安装了argtable2,并且Clustal Omega安装说明建议我使用:

它指定argtable2.h文件的位置。
但是,当我运行此命令时,出现错误,因为它尝试从该位置检索gcc和g++ C编译器,而实际上它们位于我无法编辑的root/bin/中。
我试过了:



这是在其他地方建议的。两者均无法完成配置。
如何在不指定所有C编译器位置的情况下指定argtable2-13所需文件的位置?
谢谢大家,但是以下方法也不起作用:

不知道这是否是正确的选择,但我不知道从哪个程序请求--help?
错误是:

checking argtable2.h presence... no
checking for argtable2.h... no
configure: error: Could not find argtable2.h. Try $ ./configure CFLAGS='-Iyour-argtable2-include-path

最佳答案

有两个主要问题:

  • CFLAGS必须是您要添加的标志(不仅仅是目录)。对于LDFLAGS同样如此。
  • 不对传递给configure的字符串执行Shell扩展(在这种情况下为tilda前缀)。使用扩展路径。

  • 结合configure命令应该是:
    ./configure CFLAGS="-I /home/<username>/bin/include" LDFLAGS="-L /home/<username>/bin/lib"
    

    10-08 19:55