Linux下可执行文件指定运行时库(.so文件)路径
  TEZNKK3IfmPf 2024年03月29日 82 0

rpath 全称是run-time search path,规定了Linux下可执行文件在寻找.so文件时的第一优先位置。比如我们想要指定可执行文件运行优先在当前目录下寻找.so 文件,则使用gcc/g++编译时加上以下选项:

-Wl,--disable-new-dtags,-rpath,./

其中-Wl参数用来将GCC的命令行参数传递给ld命令。

--disable-new-dtags表示使用的是rpath,去掉后编译器默认使用runpath。

如果是在Makefile中则指定如下:

CFLAGS = XXX
LDFLAGS = -Wl,--disable-new-dtags,-rpath,./
OBJS = $(patsubst %.cpp, %.o, $(SRCS))

$(TARGET):$(OBJS)
	$(CXX) $^ -o $(TARGETDIR)$(TARGET) $(LIBDIR) $(DLLLIBS) $(LDFLAGS)

$(OBJS):%.o:%.cpp
	$(CXX) $(CFLAGS) $(DEFS) $(INCDIR) $< -c -o $@
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2024年03月29日 0

暂无评论

推荐阅读
  TEZNKK3IfmPf   2024年05月31日   52   0   0 linux服务器
  TEZNKK3IfmPf   2024年05月31日   30   0   0 linux服务器centos
  TEZNKK3IfmPf   2024年05月31日   29   0   0 linuxbind
  TEZNKK3IfmPf   2024年05月31日   40   0   0 linuxshell
TEZNKK3IfmPf