Rust 无法在 Linux 中编译为可执行文件

Avm-x

在 Linux 上使用rustccargo build生成共享库而不是可执行文件来编译 Rust
我的文件管理器 (thunar) 和file命令将该文件类型显示为共享库。

并且编译后的二进制文件只能通过终端通过$ /path/to/file执行$ cargo run
该文件不能像其他可执行文件一样通过双击来执行。命令的
输出file

$ file rust_bin

rust_bin:ELF 64 位 LSB 共享对象,x86_64,版本 1 (SYSV),动态链接,解释器 /lib64/ld-linux-x86-64.so.2,用于 GNU/Linux 3.2.0,BuildID[sha1]= cb8cd... ,带有 debug_info,未剥离`

n. '代词' m.
  1. 您的编译器会生成一个可执行文件。共享库和动态链接的可执行文件之间没有太大区别。它们遵循相同的基本格式。该字符串interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0表明这是一个可执行文件而不是一个库。图书馆通常没有解释器集。尝试运行file一些你知道是可执行文件的文件,以及一些你知道是库的其他文件,然后自己看看。解释器通常是加载和执行共享对象的小型系统程序。一个文件实际上可以同时用作库和可执行文件(最常见的例子是您的libc.so.6或系统上调用的任何文件;尝试运行它)。
  2. 如果您可以从 shell 运行此可执行文件,但不能从文件管理器运行,则问题在于文件管理器,而不是可执行文件。您可能需要专门指示文件管理器您的程序应该在终端中运行。这通常可以通过创建一个描述您的程序的 .desktop 文件来完成。此外,桌面工具可能会将现代可执行文件误认为是共享库。是一个常见的问题。也可以通过为可执行文件创建 .desktop 文件来补救。它并不以任何方式特定于生锈。

底线,没有什么不妥rustccargo或者运行它们的方式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Linux可执行文件中嵌入图标

如何将PyQt脚本(.py)编译为Windows(.exe)和/或linux的单个独立可执行文件?

为什么Rust可执行文件如此庞大?

为什么Rust编译器会生成巨大的可执行文件?

无法从ntfs格式化分区上的.c文件编译可执行文件

npm安装期间,libssh2中的“ C编译器无法创建可执行文件”

如何从Rust可执行文件导出符号?

无法在Linux上运行Pyinstaller可执行文件

无法运行带有Rust可执行文件的Docker映像

是否可以在Linux中编译独立的Fortran可执行文件?

错误:C编译器无法创建可执行文件

使用pyinstaller在Linux中创建python可执行文件,无法在Windows计算机上运行

Linux Fultter桌面-无法从已编译的可执行文件运行应用程序,无法正常运行

buildozer-C编译器无法创建可执行文件

编译ffmpeg时出错:gcc无法创建可执行文件

在Linux中的可执行文件上

可执行符号链接到Linux中的非可执行文件的可能性?

配置:错误:C编译器无法创建可执行文件

可执行文件无法正常运行[Linux]

Linux / bash无法执行“哪个”告诉我的可执行文件

GCC无法编译为可执行文件

配置错误:C编译器无法创建可执行文件

无法在Nautilus中启动图形可执行文件

从LLVM位代码生成Rust可执行文件

rust可执行文件找不到bcdedit

wllvm 错误:C 编译器无法创建可执行文件

cmake,无法运行与预编译共享库链接的可执行文件

无法在 Linux 上的路径中运行 jar 可执行文件

无法在linux中执行文件