Ubuntu 无法使用.so文件安装共享库
我无法在Ubuntu上安装,或者至少无法编译一个链接库到它的Ubuntu 无法使用.so文件安装共享库,ubuntu,cmake,include,shared-libraries,.so,Ubuntu,Cmake,Include,Shared Libraries,.so,我无法在Ubuntu上安装,或者至少无法编译一个链接库到它的.cpp。我已经完成了所有谷歌和StackOverflow的答案 所以,好的,首先我运行cmake,然后运行make(确保安装)。但是,如果我运行g++xxx.cpp-lcrb-o测试我会得到以下错误:致命错误:CRNB.h:没有这样的文件或目录。库还不想安装,所以我将libcrn.so文件复制到/usr/lib,然后运行sudo ldconfig加载它。现在 sudo ldconfig-n-v/usr/lib/说它安装正确(不是在复
.cpp
。我已经完成了所有谷歌和StackOverflow的答案
所以,好的,首先我运行
cmake
,然后运行make
(确保安装)。但是,如果我运行g++xxx.cpp-lcrb-o测试
我会得到以下错误:致命错误:CRNB.h:没有这样的文件或目录
。库还不想安装,所以我将libcrn.so
文件复制到/usr/lib
,然后运行sudo ldconfig
加载它。现在
说它安装正确(不是在复制sudo ldconfig-n-v/usr/lib/
文件之前).so
表示它已正确安装,因为返回g++-lcrn
的未定义引用,而不是对“main”
(与复制找不到-lcrn
文件)之前一样。因此
没有列出库,这意味着它没有安装ldd/bin/ls
- 。。。创建
文件并将其添加到文件夹.conf
/etc/ld.so.conf.d/
- 。。。创建
文件到.so
的符号链接/usr/lib
- 。。。要在
和/usr/local/lib
文件夹中重复所有这些解决方案/lib
- 。。。将所有这些文件夹添加到
路径/etc/ld.so.conf
- 。。。将
导出到LD\u LIBRARY\u PATH
文件的路径.so
g++ src_name.cpp -lcrn -o out_name -std=c++11
致命错误:CRNB.h:没有这样的文件或目录
意味着它找不到头文件CRNB.h
。在您的尝试中,您从未尝试对此文件执行任何操作。实际上,在cmake
-make
-make-install
之后,将安装库,但它是在install\u 3.9.5
子目录下本地安装的。因此,您可以使用该库,但需要提供适当的附加包含目录(-I
标志,用于gcc
)和链接目录(-L
标志)。我忘记将包含文件复制到/usr/local/include。以这种方式,它与您的最后一个命令一起工作。谢谢
g++ src_name.cpp -lcrn -o out_name -std=c++11