安装共享库,我不能安装在Ubuntu this library,或至少编译.cpp
库链接到它。我已经完成了Google和StackOverflow的所有答案。不可能与.so文件
好吧,首先我运行cmake
,之后运行make
(和make install
可以肯定)。不过,如果我运行g++ xxx.cpp -lcrb -o test
,则会出现此错误:fatal error: CRNB.h: No such file or directory
。图书馆不喜欢被人还未安装,所以我的libcrn.so
文件复制到/usr/lib
,我跑sudo ldconfig
加载它。现在...
sudo ldconfig -n -v /usr/lib/
说,它(不是复制.so
文件之前)已正确安装。g++ -lcrn
说,它的正确安装,因为回报undefined reference to 'main'
而不是cannot find -lcrn
(如复制.so
文件之前)ldd /bin/ls
没有列出库,这意味着它没有安装
不管怎么说,试图编译仍抛出相同的错误。我也曾尝试...
- ...创建一个
.conf
文件,并将其添加到文件夹/etc/ld.so.conf.d/
- ...到creaty的
.so
文件的符号链接/usr/lib
- .. 。重复这一切的解决方案也
/usr/local/lib
和/lib
文件夹 - ......所有这一切的文件夹添加到
/etc/ld.so.conf
路径 - ...到
LD_LIBRARY_PATH
出口到T的路径他.so
档案
和许多更相似。正如你可以看到所有这些都是一样的,所以很显然我失去了一些重要的东西。任何人都知道它可能是什么?
非常感谢!
'致命错误:CRNB.h:没有这样的文件或directory'意味着它无法找到**头文件**'CRNB.h' 。在你的尝试中,你从未尝试过使用这个文件做些什么。实际上,在'cmake' - 'make' - 'make install'后,安装了库**,但它安装了*本地*,位于'install_3.9.5'子目录下。因此,您可以使用库,但需要提供适当的附加包含目录(''I'gcc'标志)和链接目录('-L'标志)。 – Tsyvarev