动态库路径问题

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

原文地址:https://www.cnblogs.com/xinping-study/p/12721678.html