【发布时间】:2017-06-04 03:14:37
【问题描述】:
我无法在 Ubuntu 上安装 this library,或者至少无法编译将库链接到它的 .cpp。我已经完成了所有 Google 和 StackOverflow 的答案。
好吧,首先我运行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/ - ... 创建
.so文件到/usr/lib的符号链接 - ...在
/usr/local/lib和/lib文件夹中重复所有这些解决方案 - ... 将所有这些文件夹添加到
/etc/ld.so.conf路径 - ...导出
LD_LIBRARY_PATH到.so文件的路径
还有更多类似的。正如你所看到的,所有这些都是一样的,所以很明显我正在失去一些重要的东西。有谁知道它可能是什么?
非常感谢!
【问题讨论】:
-
fatal error: CRNB.h: No such file or directory表示找不到头文件CRNB.h。在您的尝试中,您从未尝试对此文件执行任何操作。实际上,在cmake-make-make install之后,库已安装,但它本地安装在install_3.9.5子目录下。因此,您可以使用该库,但需要提供适当的额外包含目录(gcc的-I标志)和链接目录(-L标志)。
标签: ubuntu cmake include shared-libraries .so