我有一个GMP的本地安装编译:
/path/to/gmp
.../lib/gmp.h
.../include/[gmp_binaries.etc]
现在,我导出路径,只是为了测试安装;一旦我开始工作,我会在一些中心位置添加符号链接:
export LD_LIBRARY_PATH=/path/to/gmp:$LD_LIBRARY_PATH
g++ -lgmp
// error: /usr/bin/ld: cannot find -lgmp
export LD_LIBRARY_PATH=/path/to/gmp/include:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/path/to/gmp/lib:$LD_LIBRARY_PATH
g++ -lgmp
// error: /usr/bin/ld: cannot find -lgmp
基本上,我的问题是:如何将本地库连接到ld
?
(关键是安装没有sudo的内容,所以我不能“只是____”,大部分都是)
答案 0 :(得分:1)
-l
需要-L
位置才能在g++
中进行搜索。 Make不会关注LD_LIBRARY_PATH
。需要一个特定的位置来搜索/usr/lib
# define library paths in addition to /usr/lib
# if I wanted to include libraries not in /usr/lib I'd specify
# their path using -Lpath, something like:
LFLAGS = -L/home/newhall/lib -L../lib
找到你的libgmp文件,链接如下:
g++ -L/path/to/libgmp/ -lgmp