【发布时间】:2012-03-24 11:50:19
【问题描述】:
我正在 Linux 下开发一个 C++ 程序。我想在库中放一些东西(具体来说,LLVM 位码文件,但这并不重要),所以我想要以下目录结构:
/somewhere/bin/myBin
/somewhere/lib/myLib.bc
如何找到 lib 目录?我试图从argv[0] 计算相对部分,但如果/somewhere 在我的PATH 中,argv[0] 将只包含myBin。有什么办法可以走这条路吗?还是必须在编译时设置?
GNU 自动工具如何处理这个问题?如果我将--prefix 选项提供给./configure,会发生什么?
编辑: library 这个词对我来说有点误导。我的库由 LLVM 位码组成,所以它不是一个实际的(共享的)目标文件,只是我想从我的程序中打开的一个文件。您可以将其视为图像或文本文件。
【问题讨论】:
-
如果你的库是静态的,只需添加 -L your/lib/dir;如果它是动态的,你可以有一个 LD_LIBRARY_PATH 等等......
-
正如我所说,库是一个 LLVM 位码文件,所以这些没有帮助。只需将其视为我想从我的程序中读取的图像或文本文件。