我正在尝试运行一些pcl代码(来自他们的网站)。我目前在ubuntu上使用boost 1_51(我构建的)和我的Eclipse C ++ Build->我有的设置
包含路径中的/home/aly/libs/boost_1_51_0/stage/include
和库搜索路径中的/home/aly/libs/boost_1_51_0/stage/lib
。我没有/usr/include
或/usr/lib
。
在运行时我遇到一些提升错误,这让我觉得它可能没有针对正确的库运行,因为boost_1_46是在/usr/lib
中构建的(这是ubuntu repos中最新的版本)。所以我从libboost_timer.so
目录中删除了一个lib文件(/usr/lib
)并重新编译(这很好),然后运行。在运行时,我收到以下错误:
error while loading shared libraries: libboost_thread.so.1.46.1: cannot open shared object file: N
我的问题是,为什么/usr/include
和/usr/lib
不在我的包含路径和库搜索路径中,我的程序是否正在寻找1.46版本?
其他信息:
编译eclipse正在做: 调用:交叉G ++链接器
g++ -L/home/aly/libs/OpenCV-2.4.3/release/lib -L/home/aly/libs/boost_1_51_0/stage/lib -o "3DObjectDetection" ./src/HFNodeSplitCalculator.o ./src/HFNodeUtils.o ./src/HFTreeNode.o ./src/HoughForest.o ./src/ImagePatch.o ./src/Main.o ./src/PatchGenerator.o ./src/utils.o -lvtkmetaio -lvtkImaging -lvtkIO -lvtkViews -lvtkVolumeRendering -lvtkalglib -lvtkDICOMParser -lvtkInfovis -lvtkFiltering -lvtkGeovis -lGL -lopencv_core -lopencv_highgui -lopencv_imgproc -lpcl_io -lpcl_visualization -lpcl_common -lpcl_surface -lpcl_kdtree -lpcl_search -lpcl_geometry -lpcl_features -lvtkproj4 -lvtkParallel -lvtksys -lvtkRendering -lvtkCommon -lboost_serialization -lboost_timer -lpthread -lboost_context -lboost_date_time -lboost_system -lboost_thread -lboost_filesystem -lboost_random -lboost_regex -lglut -lvtkexoIIc -lvtkCharts -lvtkGenericFiltering
Finished building target: 3DObjectDetection
我的$LD_LIBRARY_PATH
是
:/home/aly/libs/boost_1_51_0/stage/lib/:/home/aly/libs/OpenCV-2.4.2/build/lib/:/usr/lib/:/home/aly/libs/cuda-5.0/lib:/home/aly/libs/cuda-5.0/lib64
正如您所见,boost lib目录出现在/usr/lib