首页 > 解决方案 > 加载共享库时出错:libwx_gtk3u_core-3.1.so.3:无法打开共享对象文件:没有这样的文件或目录

问题描述

我全新安装了 Ubuntu 18.04.4LTS 和 wxWidgets 3.1.4。当我尝试使用以下命令执行 wxWidgets 二进制文件时: ./gpCalculator

我收到错误消息:
./gpCalculator: error while loading shared libraries: libwx_gtk3u_core-3.1.so.3: cannot open shared object file: No such file or directory

这是 ldd ./gpCalculator 下面的输出:

linux-vdso.so.1 (0x00007ffcabd9c000)
libwx_gtk3u_core-3.1.so.3 => not found
libwx_baseu-3.1.so.3 => not found
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007faa0bf17000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007faa0bcff000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007faa0b90e000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007faa0b570000)
/lib64/ld-linux-x86-64.so.2 (0x00007faa0c524000)

任何建议或帮助将不胜感激。这是一个学校项目。 如果您想访问二进制文件本身和源代码,则gitub 存储库是https://github.com/alvindera97/Engineering-Grade-Pending-C- 。

谢谢你的期待!

标签: c++linuxwxwidgets

解决方案


您必须安装这些库。

错误说丢失(找不到。)

libwx_gtk3u_core-3.1.so.3 => not found
libwx_baseu-3.1.so.3 => not found

安装命令:

apt-get install libwxgtk-webview3.0-gtk3-0v5 libwxgtk-media3.0-gtk3-0v5

如果您想知道哪个包提供了文件,您可以安装和更新(以 root 身份):

root@desktop:~# apt-get install apt-file
root@desktop:~# apt-file update

并找到:

manuel@desktop:~/projects$ apt-file find wx_gtk3u

libwxgtk-media3.0-gtk3-0v5: /usr/lib/x86_64-linux-gnu/libwx_gtk3u_media-3.0.so.0
libwxgtk-media3.0-gtk3-0v5: /usr/lib/x86_64-linux-gnu/libwx_gtk3u_media-3.0.so.0.4.0
libwxgtk-media3.0-gtk3-dev: /usr/lib/x86_64-linux-gnu/libwx_gtk3u_media-3.0.so
libwxgtk-webview3.0-gtk3-0v5: /usr/lib/x86_64-linux-gnu/libwx_gtk3u_webview-3.0.so.0
libwxgtk-webview3.0-gtk3-0v5: /usr/lib/x86_64-linux-gnu/libwx_gtk3u_webview-3.0.so.0.4.0
libwxgtk-webview3.0-gtk3-dev: /usr/lib/x86_64-linux-gnu/libwx_gtk3u_webview-3.0.so

它为您提供了 packages: libwxgtk-media3.0-gtk3-0v5libwxgtk-webview3.0-gtk3-dev其中出现了该名称。

如果您正在使用已编译的二进制文件(程序),则必须安装用于在原始 linux 安装中编译该程序的库(相同版本,或者通常更现代。)

如果你不能安装这些,至少在 Linux 上,你可以从源代码编译所有内容:库、程序等......

(一些评论后的解释。)

实际上,您正在使用已编译的程序,而我的输出完全相同:

 
manuel@desktop:~/projects/Engineering-Grade-Pending-C- (master)$ ./gpCalculator 
./gpCalculator: error while loading shared libraries: libwx_gtk3u_core-3.1.so.3: cannot open shared object file: No such file or directory

检查回购给出:

manuel@desktop:~/projects/Engineering-Grade-Pending-C- (master)$ l
total 8,1M
-rw-r--r-- 1 manuel manuel 230K jul 29 23:10 gp_and_cgpa_calculator.cpp
-rwxr-xr-x 1 manuel manuel 597K jul 29 23:10 gpCalculator*
-rw-r--r-- 1 manuel manuel 7,3M jul 29 23:10 gpCalculator.exe
-rw-r--r-- 1 manuel manuel 1,2K jul 29 23:10 README.md

weregpCalculator是找不到库的可执行文件。

问题不在于编译或分发,问题在于您永远不应该从您不知道和信任的来源运行软件。如果你想运行它,只需获取源代码,编译并使用它。

这个gpCalculator可执行文件可能只是将您所有的硬盘信息发送给任何人。

话虽如此,要运行该程序,您只需按照我说的做:安装缺少的库或编译并安装所有库。(不需要分发任何东西。)


推荐阅读