如何在linux中运行中定义lib的路径在makefile里面

本文介绍了如何在Linux环境下,当程序运行时找不到动态库文件liblog.so,如何在makefile中修改以指定动态库的路径。通过设置TARGET_LIB_DIR变量并使用-Wl,-rpath选项,确保程序在运行时能找到所需的库文件。" 83929690,7566719,C# 使用Socket进行Modbus同步异步通信教程,"['C# Socket', 'Modbus']
摘要由CSDN通过智能技术生成

场景:比如执行程序testlog需要用到liblog.so,但是testlog在运行当中提示找不到所需要的动态库文件liblog.so(放在了/media/dc/mt_tmnl698/lib_zt目录)

此时需要在编译testlog时的makefile需要改进如下:红色字体 定义运行时的路径

TARGET_LIB_DIR  =/media/dc/mt_tmnl698/lib_zt

 

TARGET_SHARED_LIBS := -llog

TARGET_SHARED_LIBS    += -Wl,-rpath=$(strip $(TARGET_LIB_DIR))

 

HOST_NAME := win32
#ifndef MakeTool
#ifeq ($(target),ubuntu)
#include ../Makefile.tool.ubuntu 
#else
#ifeq ($(target),9g25)
#include ../Makefile.tool.9g25
#else
#ifeq ($(host),ubuntu)
#include ../Makefile.tool.ttu.ubuntu
#else
#include ../Makefile.tool.ttu.win32
#endif
#endif
#endif
#endif
#[Makefile.tool.ttu.win32,Makefile.tool.9g25,Makefile.tool.ubuntu]
include ../../../Makefile.tool
#include ../Makefile.tool.ubuntu
#include ../Makefile.tool.9g25


# current directory
CURDIR := $(shell pwd)
# build directory
ifndef BLDDIR
BLDDIR := $(CURDIR)/build
endif

TARGET_OUT_DIR := $(MT_RELEASE_BASE)/app/dc
TARGET_LIB_DIR  =/media/d

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值