%20%E3%81%AB%20exe%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%BB%A2%E9%80%81%E3%81%99%E3%82%8B.png)
Ubuntu から Windows に実行可能ファイルを転送したいです。Ubuntu がインストールされている VM の共有フォルダー経由で試してみました。うまくいきましたが、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 実行可能バイナリを実行することもできません。
Linux 上で Windows アプリケーションを実行する方法もありますがwine
(すべてのソフトウェアで動作するわけではなく、一部のプログラムでのみ動作します)、Windows 上で Linux プログラムを実行するエミュレーターについてはまだ聞いたことがありません。Ubuntu VM 内でそのプログラムを使用するか、インターネットで Windows と互換性のあるダウンロードを検索する必要があります。