Ubuntu 无法使用.so文件安装共享库

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/说它安装正确(不是在复

我无法在Ubuntu上安装,或者至少无法编译一个链接库到它的
.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
    文件的路径
还有更多类似的。正如你所看到的,所有这些都是一样的,所以很明显我失去了一些重要的东西。有人知道会是什么吗

非常感谢

您需要使用“-I”标记指定包含目录,或将其导入系统

尝试:

或:

您可以将libcrn include文件(“*.h”)复制到“/usr/local/include/”,如果不存在,则将库复制到“/usr/local/lib/”,然后:

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