lxxx事实代表的一个动态链接库,而动态链接库的文件名通常应为 libxxx.so
这种问题可以归结为在ubuntu系统编译过程中出现的库缺失问题。
一般有三个原因:
库没有安装对应的库,此时基本可以通过“sudo apt-get install libxxx-dev” 来安装。
另,可以通过apt-cache search libxxx来查找是否存在相应的库(当作废话吧,没太大用)
库存在的路径没有告知编译器,也可以说史没有在编译配置文件(通常在Makefile.conf)中加入
比如在caffe编译的配置文件中,初始的配置是不完善的,比如下面这两行配置语句:
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib
默认你所安装的其他依赖的库文件都在 /usr/local/include,/usr/local/lib 和 /usr/lib中,但是不同的系统和用户安装的位置是有细微的差别的。
所以你就必须首先查找报错的库或者头文件在那个位置,这个可以通过‘locate’或‘find’命令来查,然后将所在路径加入对应环境变量中,例如:
# Whatever else you find you need goes here.
INCLUDE_DIRS := $(PYTHON_INCLUDE) /usr/local/include /usr/include/hdf5/serial
LIBRARY_DIRS := $(PYTHON_LIB) /usr/local/lib /usr/lib /usr/lib/x86_64-linux-gnu/hdf5/serial
库文件名没有正确指向到库,这种情况也应该先找到对应的库文件,然后通过建立软链接来进行修改,
ln -sf */libxxx.so.x *libxxx.so