我想将可执行文件从 Ubuntu 传输到 Windows。我尝试通过安装了 Ubuntu 的虚拟机的共享文件夹进行传输。它有效,但当我在 Windows 中打开可执行文件时,该文件未定义(不是 exe 文件)。
可执行文件(sphinx3_align
)是软件包的一部分sphinx3 工具. 运行后sphinx3 工具,我sphinx3_align
从复制/usr/local/bin
到共享文件夹,但是当我在 Windows 中打开它时,它告诉我该文件未定义。
输出file sphinx3_align
:
sphinx3_align: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), for GNU/Linux 2.6.24,
BuildID[sha1]=d4584be6f1adc0b0a8471cd8e774a79c53b1f7f3, not stripped
如何将此文件传输到 Windows 系统?
答案1
您无法在 Windows 系统上运行此文件!绝不可能。没有机会。
正如您在 的输出中看到的file
,它显示ELF 32-bit LSB executable, [...] for GNU/Linux 2.6.24
。ELF 是 Linux 使用的已编译二进制可执行文件的格式,它甚至告诉您该程序是为 Linux 内核 2.6.24 编写的(这似乎相当旧,以及它所告诉的 CPU 架构...... - 但这并不重要)。
相比之下,Windows 使用 PE 格式来处理已编译的二进制可执行文件(称为*.exe
文件)。并且,您可能无法.exe
在 Ubuntu/Linux 上本机运行 Windows 文件,也可能无法在 Windows 上运行任何 Ubuntu 可执行二进制文件。
可以wine
在 Linux 上运行 Windows 应用程序(无论如何,它并不适用于所有软件,只适用于某些程序),但我还没有听说过可以在 Windows 上执行 Linux 程序的模拟器。您必须继续在 Ubuntu VM 中使用该程序,或者在互联网上搜索与 Windows 兼容的下载。