![]() |
1
413
您的库是一个动态库。 您需要告诉操作系统在运行时可以在哪里找到它。 为此,, (1)如果您不知道库的位置,请查找库的位置。
(2) 检查是否存在动态库路径环境变量(
如果没有要显示的内容,请添加默认路径值(如果愿意,也可以不显示)
(3) 我们添加渴望的路径,导出它并尝试应用程序。
请注意,路径应该是
https://www.gnu.org/software/gsl/doc/html/usage.html#shared-libraries |
![]() |
2
193
以下是一些您可以尝试的解决方案: 正如AbiusX指出的:如果您刚刚安装了库,那么您可能只需要运行 ldconfig .
通常,当您安装一个新库时,您的包管理器会处理这个问题,但并不总是这样,即使这不是您的问题,运行ldconfig也不会有什么坏处。 开发包或错误的版本如果不行,我也会退房 Paul's suggestion
如果只是安装了错误版本的库,这也会有所帮助。有些库同时以不同的版本发布,例如Python。 图书馆位置
如果您确定安装了正确的软件包,而ldconfig没有找到它,那么它可能只是在一个非标准目录中。默认情况下,ldconfig在
要查找库的位置,请尝试以下操作:
(替换
如果你去
|
![]() |
3
148
使现代化
通常,.so后面的数字是版本号,您经常会发现它们是相互的符号链接,因此如果您有libfoo.so的1.1版,那么您将有一个真正的文件libfoo.so.1.0,并且符号链接foo.so和foo.so.1指向libfoo.so.1.0。如果安装版本1.1而不删除另一个版本,则将有一个libfoo.so.1.1,libfoo.so.1和libfoo.so现在将指向新版本,但任何需要该确切版本的代码都可以使用libfoo.so.1.0文件。只依赖版本1 API但不关心它是1.0还是1.1的代码将指定libfoo.so.1。像 orip 评论中指出,这一点在 http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html .
摆脱符号链接
|
![]() |
4
34
编译.c文件时链接:
|
![]() |
5
27
尝试添加
它起作用了! |
![]() |
6
13
为此,请参见 Sun Linker and Libraries Guide
此外,请注意,“外部版本控制”在Linux上基本上已经过时,因为符号版本控制(GNU扩展)允许在单个库中存在同一函数的多个不兼容版本。此扩展允许glibc具有相同的外部版本:
|
![]() |
7
7
在末尾添加这些行
|
![]() |
8
6
我也有一个类似的错误,在~/.bashrc中提供LD_LIBRARY_路径并没有修复。 去苏安机场。
必须运行以下命令才能激活路径:
如果这显示了您的库文件,那么您就可以开始了。 |
![]() |
9
4
然后
|
![]() |
10
4
|
![]() |
11
2
|
![]() |
12
2
如果在Microsoft Windows上运行应用程序,则需要在path环境变量中定义动态库(.dll)的路径。
|
![]() |
13
2
尝试安装
|
![]() |
14
1
发生此错误的原因是系统无法引用所述的库文件。采取以下步骤:
|
![]() |
15
1
我使用Ubuntu 18.04
|
![]() |
16
1
|
![]() |
17
0
我犯了这个错误,我想这和你的原因是一样的
试试这个。 关于文件:
sudo su获取文件系统的权限。 |
![]() |
18
0
我犯了这个错误,我想这和你的原因是一样的
试试这个。修复对文件的权限:
|
![]() |
19
0
https://bugzilla.redhat.com/show_bug.cgi?id=1456202 我试过上面提到的解决方案,它确实有效。
前面问题中的解决方案可能有效。但我认为这是一个简单的解决方法。
|
![]() |
CaTx · 使用带有一个大于号和两个大于号的回波的区别 2 年前 |
![]() |
Ari157 · x86_64 Linux程序集中的逻辑与实现 2 年前 |
![]() |
Ty Q. · 分段故障GLFW3/GLAD 3 年前 |
![]() |
ShortArrow · 如何使用git管理链接源文件? 3 年前 |
![]() |
Bastien L. · 多Linux Grafana集成 3 年前 |