代码改变世界

动态库路径问题

2020-04-17 18:23  xplorerthik  阅读(372)  评论(0编辑  收藏  举报

Linux系统的so库一般存储与“/usr/lib/”路径中,可将动态库复制到该路径中。

sudo cp liblibtest.so /usr/lib/
或者进root 用户, copy过去。 在当前目录下建立软链名称, makefile 中可以直接用软链名称。

ln -s  源路径文件   当前目录下的软链名

ln -s libboost_regex.so.1.57     libboost_regex_ltp.so
ln -s  libboost_regex.so.1.57    libboost_regex_ltp.so

 

2种方法:

方法1: 直接加到 执行语句里。 指定路径和名字

 

 这样动态库就加好了。 

静态库:

LDPATH= -L../lib/\

LIBS = libutil.a\

 #CFLAG = -g -pg -Wall -Wno-deprecated    #debug 用的
CFLAG = -O3 -pipe -Wno-deprecated

 

 

方法2:把库加到依赖里边。 在依赖里边就指定了路径 

生成一个动态库, 这个动态库会依赖一个静态库:

把静态库作为依赖文件添加到依赖objs里边

OBJS := $(QUERYPARSER)/CBaseQueryParserImpl.o \

  $(ENTITYRECOGNITION)/EntityRec.o \
  $(QUERYCORRECTION)/CnCorpusTrainer.o \
  $(QUERYCORRECTION)/CnQueryCorrection.o \
  $(QUERYCORRECTION)/FuzzyPinyinSegmentor.o \

  $(LIB_DIR)/libsegmentor.a \
  $(LIB_DIR)/libboost_regex.a