2014-02-23 34 views
0

我是Linux新手。我在我的C程序源文件夹旁边有一个库,但我不知道如何编译它。当我的库与程序代码文件位于同一文件夹中时,我编译了所有内容。但是,我不明白如何使用其他位置的库?在Linux中编译库时,在另一个文件夹中

+0

你能更具体一些,比如举一些例子吗? –

+0

您是使用构建系统(如Autotools)还是只使用编译器? –

+0

你正在考虑哪个图书馆?你是如何编译它的?为什么你需要在另一个目录*(不是文件夹)中构建它? –

回答

2

使用gcc的-L选项指定您的库所在的位置,并使用-l选项指定您的库所在的位置。 如果您使用'make'来构建程序,只需打开Makefile并找出-L选项已使用的位置。

例如,

gcc -L ./my_program/my_library -lmylib -o my_executable ./my_program/src/my_program.c 

此外,您还可以使用LD_LIBRARY_PATH环境变量来指定到你的程序库路径。假设你已经准备好运行你的可执行文件,但是这个库不在任何标准库路径中(例如/ usr/lib),那么你可以通过执行下面的命令来运行你的程序。

$ LD_LIBRARY_PATH=/home/my_name/my_program/my_library my_executable 
相关问题