【发布时间】:2015-08-17 20:20:03
【问题描述】:
我已经成功编译this library。它会生成一个libcds2.la 文件,我试图将其链接到我自己的项目中。我将所有文件(包括.h 文件)与我的项目文件放在同一目录中。当我尝试链接和使用所述库的功能时,使用:
g++ -o test -I/opt/include/ -L/opt/lib/ -lcds2 libcdsNoptrs.cpp util.cpp
回来
./test: error while loading shared libraries: libcds2.so.2:
cannot open shared object file: No such file or directory
不管那是什么。但关键是大多数时候它只是不识别图书馆。我假设我在文件路径上做错了,但无法弄清楚。我的测试文件是一个 C++ 文件,包括#include "libcds2/array.h",所有东西都安装在opt/lib,opt/include,丑陋,我知道,但这就是 Makefile 生成的。
有什么建议吗?
【问题讨论】:
-
cds2 没有生成
libcds.a和/或libcds.so文件吗? -
错误名称为“libcds2.so.2”这一事实表明您的库搜索路径中有一个“libcds2.so”符号链接指向此(不存在?)库。我建议您检查该库是否安装正确。