2014-04-04 76 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创建单独的版本。

相关问题