tyr*_*rex 4 c# linux mono debian mkbundle
在本提到的线程,以及在这里我使用mkbundle -o newfile oldfile.exe --static
(OS:Ubuntu的11.10 64位,单声道:2.10.5)来创建其应在Apache Web服务器的可执行文件(OS:的Debian GNU/Linux的32位).这里oldfile.exe
是使用C#-Hello-World-Code编译的结果mcs oldfile.cs
.在原始系统(使用Ubuntu)上,该文件是可执行的.但是,当我newfile
在Apache Web服务器上调用时,我收到错误:
不能执行二进制文件
此外,在做的file newfile
时候说
ELF 64位LSB可执行文件,x86-64,版本1(SYSV),动态链接(使用共享库),不剥离
我怀疑如果mkbundle按照预期工作,那么它应该已经读过了
......静态联系......
不应该吗?任何人都知道为什么文件在服务器上不可执行?这是因为32位/ 64位的问题吗?
mkbundle
从64位Mono生成64位可执行文件,您无法在32位内核上运行64位可执行文件.由于mkbundle
没有生成32位二进制文件的选项,您显然需要使用32位Mono生成可执行文件(理论上您可以在64位系统上安装32位Mono但这不是很容易,所以我建议安装一个32位系统,可能在VM中.
归档时间: |
|
查看次数: |
1033 次 |
最近记录: |