我想通过makefile中的-rpath
选项指定库搜索路径,而不是使用LD_LIBRARY_PATH。我该如何做?假设搜索路径为当前目录。
使用LDFLAGS为ld
指定选项。
创建单独的编译和链接规则,您可以直接将-rpath=/what/ever
传递给ld
。
使用-Wl,ldoption
来将ldoption
传递给链接器gcc
。在您的情况下:
gcc ... -Wl,rpath=/what/ever ...
ldd
),而不是用于创建可执行文件的链接器(ld
)。-rpath
标志。在所有标志前加上-Wl
以使gcc将它们传递给ld,例如:LDFLAGS = -Wl,-rpath -Wl,.
例子
LDFLAGS += --rpath-link /home/hp/Desktop/staging_dir/target-mips_uClibc-0.9.30.1/root-brcmref/lib/ld-uClibc.so.0
Makefile的示例:
all: test
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $^
test: test1.o test2.o
$(CC) $(LDFLAGS) -o $@ $^