标签: shared-library

.so 文件如何在 Ubuntu 中使用

我对 Linux 和 Ubuntu 非常陌生,我已经将我的简单游戏引擎移植到了 linux。引擎位于 .so 文件中并链接到可执行文件。

我无法运行我的可执行文件,因为它说它找不到 Engine.so 文件(在终端中运行时)。

因此,如果我在 Ubuntu 上进行开发,我怎样才能获得可执行文件来查找库?

第二个问题是分发应用程序时如何安装 .so 文件?我认为它们不只是与 Windows 中的 exe 放在同一目录中?那么它们是如何安装的呢?

shared-library

9
推荐指数
1
解决办法
3万
查看次数

'ldd' 报告为“不是动态可执行文件”的文件是否依赖于其他库?

只是确保我做对了 - 我打电话

ldd /path/to/executable
Run Code Online (Sandbox Code Playgroud)

它返回“不是动态可执行文件”。这意味着它不依赖于其他库,对吗?如果是这样,是否意味着它可以转移到另一个 Ubuntu 盒子而无需担心依赖关系?

shared-library compiling

9
推荐指数
1
解决办法
2万
查看次数

无法通过 apt-get 在 Ubuntu 12.04.4 上找到软件包 libffi 和 libffi5-dev

$ sudo apt-get install libffi libffi5-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libffi
E: Unable to locate package libffi5-dev
Run Code Online (Sandbox Code Playgroud)

另一个尝试:

$ sudo apt-get install libffi5 libffi-dev
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package libffi5
Run Code Online (Sandbox Code Playgroud)

$ cat /etc/issue  
Ubuntu 12.04.4 LTS \n \l
Run Code Online (Sandbox Code Playgroud)

我现在该怎么办?

shared-library 12.04 wunderlist

9
推荐指数
1
解决办法
4万
查看次数

如何修复“libpng12.so.0:无法打开共享对象文件:没有这样的文件或目录”?

我刚开始使用 Lubuntu,我刚刚安装了 DaVinci Resolve 来进行视频编辑。

但是当我单击桌面上的图标时,加载符号出现并停止。当我在控制台中运行它时,我收到此错误消息:

加载共享库时出错:libpng12.so.0:无法打开共享对象文件:没有这样的文件或目录

这有点超出我的范围。有什么帮助吗?

lubuntu shared-library

9
推荐指数
1
解决办法
5万
查看次数

在 Ubuntu 18.04.1 下加载共享库时出错:libgfortran.so.3

我最近安装了 Ubuntu 18.04.1。现在,当我尝试运行 mpi Fortran 代码时,加载共享库时出错:libgfortran.so.3并且代码未执行。我尝试通过删除软件重新安装gfortranmpichgcc,但我无法删除它们,sudo apt-get remove gfortran因为当我被问及是否要继续时删除会中止。当我尝试制作可执行文件时,会为该可执行文件生成未知的文件类型。

shared-library

9
推荐指数
1
解决办法
3万
查看次数

libc 版本是否与内核版本相关联?

在阅读了我上一个问题的答案后,我得出的结论是,以下问题的答案正是我真正想要的:

特定版本的内核是否需要特定版本的 libc 才能正常运行?

基本上我的问题源于在我的 12.04 ubuntu 上构建应用程序并尝试在 8.04 上运行它。从那以后,我从这个和其他 stackexchange 论坛中了解到,导致这些问题的是 libc 的向后兼容性。因此,我可能天真地尝试做的是构建与我的目标上存在相同版本的 libc,然后在构建应用程序时链接到我的主机上。然后在理想的世界中,当我将其复制到主机时,已链接到“正确”的 libc,它应该可以工作(至少在我的脑海中)。我完全找不到在我的系统上安装旧 libc 的方法,并想知道每个版本是否都与内核版本紧密绑定,因此出现了上述问题。

versions shared-library kernel gcc 12.04

8
推荐指数
2
解决办法
4974
查看次数

在 Ubuntu 上安装 libdwarf.so

如何libdwarf.so在 Ubuntu 上安装?运行可执行文件时出现此错误。

加载共享库时出错:libdwarf.so:无法打开共享对象文件:没有这样的文件或目录。

shared-library 14.04

8
推荐指数
1
解决办法
5623
查看次数

“LD_LIBRARY_PATH”是否存在安全风险?

我们知道ld.so在环境变量指定的目录中搜索库$LD_LIBRARY_PATH,但普通用户可以运行:

export LD_LIBRARY_PATH=dir1:dir2...
Run Code Online (Sandbox Code Playgroud)

他们可以将受感染的库保存在优先级高于原始路径的路径中,以便ld.sold.so.cache.

这是一个风险吗?
我们如何禁止普通用户写入这个环境变量?

security shared-library environment-variables

8
推荐指数
1
解决办法
2664
查看次数

如何安装缺少的共享库 libQtWebKit.so.4?

有谁知道我在哪里可以得到这个库: libQtWebKit.so.4

尝试启动Clipgrab 时,我现在收到以下错误:

$ /home/pst007x/Applications/ClipGrab/clipgrab-3.6.1
/home/pst007x/Applications/ClipGrab/clipgrab-3.6.1: error while loading shared libraries: libQtWebKit.so.4: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)

Ubuntu 16.04 LTS 64 位

shared-library software-installation 16.04 18.04

8
推荐指数
1
解决办法
3万
查看次数

如何在Ubuntu 20.04上安装GLIBCXX_3.4.29?

我下载了 DOOM BFA 版本 1.2.8,但运行后我收到消息:

./DoomBFA:/usr/lib/x86_64-linux-gnu/libstdc++.so.6:找不到版本“GLIBCXX_3.4.29”(./DoomBFA 需要)

有没有办法在 ubuntu 20.04 中更新这些库?

lts dependencies shared-library games 20.04

7
推荐指数
1
解决办法
4万
查看次数