2014-04-04 81 views
0

我有一個使用Mono在Linux上運行的.NET應用程序。我想避免用戶安裝Mono,所以我使用mkbundle。我在x86機器上運行mkbundle,用生成的二進制文件的期望能夠在x64機器上運行:x86上的Mono mkbundle的構建將無法在x64上運行

mkbundle MyApp.exe *.dll -o MyApp

我可以再用`./MyApp」運行構建機器上生成的應用程序

然而,當我將它複製到x64機器(並使其可執行文件),它不會跑,只是輸出:

bash: ./MyApp: No such file or directory

如果我嘗試ldd我得到:

not a dynamic executable

不應該建二進制文件運行的x86 x64系統上?

回答

0

我對Linux非常陌生,看起來x86/x64並不像Windows那樣直截了當,因爲許多x64 Linux發行版不具備運行32位二進制文​​件的功能。

的64位計算機上安裝32位庫後,x86代碼會按預期執行(例如,在Ubuntu 7.04,apt-get install ia32-libs

雖然這工作,因爲我需要針對一系列分佈的我已經決定只爲x86和x64創建單獨的版本。

相關問題