关于此问题,有许多问题for example。
我在上面的链接中提到了路径中的库。
export LD_LIBRARY_PATH=/home/mydir/boost_1_66_0/stage/lib
我正在使用eclipse oxygen
,其中我添加了boost和pthread库,如
-l
boost_serialization
pthread
并包含链接器路径-L /home/mydir/boost_1_66_0/stage/lib
和编译器路径-l /home/mydir/boost_1_66_0
。当我测试两个文件的程序,例如thread.cpp
和thread.h
时,它运行正常。但是当我包含更多文件时,它会给我错误
error while loading shared libraries: libboost_serialization.so.1.66.0: cannot open shared object file: No such file or directory
我不确定更多文件出了什么问题,并给出了链接错误。
修改
我尝试使用makefile
,其中包含类似
CXX = g++
DEBUG = -g
CXXFLAGS = -Wall $(DEBUG) -std=c++17 -boost_serialization -pthread
然后继续编译并以
结束Building target: Test
Invoking: Cross G++ Linker
g++ -std=c++17 -L/home/mydir/boost_1_66_0/stage/lib -o "Test" ./decodenumbers.o ./encodechars.o ./help.o ./index.o ./inputparameters.o ./loadindex.o ./main.o ./match.o ./output.o ./readfastqfiles.o ./report.o ./reversestrand.o ./samformat.o ./saveindex.o ./time.o ./trimreads.o ./validate.o ./version.o -lboost_serialization -lpthread
Finished building target: Test
当我跑步时,它会出现同样的问题。