如何在我的makefile中指定-rpath

3

我想通过makefile中的-rpath选项指定库搜索路径,而不是使用LD_LIBRARY_PATH。我该如何做?假设搜索路径为当前目录。

3个回答

3
您有三种选择:
  • 使用LDFLAGS为ld指定选项。

  • 创建单独的编译和链接规则,您可以直接将-rpath=/what/ever传递给ld

  • 使用-Wl,ldoption来将ldoption传递给链接器gcc。在您的情况下:

    gcc ... -Wl,rpath=/what/ever ...

请注意,LD_LIBRARY_PATH用于动态链接器/加载器(ldd),而不是用于创建可执行文件的链接器(ld)。

1
需要向链接器传递-rpath标志。在所有标志前加上-Wl以使gcc将它们传递给ld,例如:
LDFLAGS = -Wl,-rpath -Wl,.

0

例子

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 $@ $^

但是通常不是在rpath中指定路径而不是文件吗? - pythonic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接