当前位置:  开发笔记 > 编程语言 > 正文

Mono mkbundle工具无法创建二进制文件,抱怨输出文件不可用

如何解决《Monomkbundle工具无法创建二进制文件,抱怨输出文件不可用》经验,为你挑选了1个好方法。

根据这个线程关于运行C#apps sans .NET的建议我已经使用mono编译了我的应用程序.我使用最新的Visual C#.NET Express Edition构建了原始应用程序.它在Windows上的.NET上运行良好.然后我打开了Cygwin并导航到我的源码,我再次使用以下命令在mono下编译项目:

$ mcs .cs

这会生成MyProject.exe,它可以在Cygwin中成功运行,并且可以从Window命令行成功运行.使用的命令是:

$ mono MyProject.exe
C:\...>mono MyProject.exe

只是为了踢,简单地说:

C:\...>MyProject.exe

一切按预期工作.然后,我尝试使用mkbundle命令将单声道编译的可执行文件构建为静态链接的二进制文件,如下所示:

$ mkbundle -o MyProject MyProject.exe --deps

这是事情开始走下坡路的地方.它启动得很好,然后抱怨输出文件(可能是MyProject.exe)因为忙而无法打开.它的全部输出都在这里:

    $ mkbundle -o Program Program.exe --deps
    OS is: Windows
    Sources: 1 Auto-dependencies: True
       embedding: c:\Documents and Settings\bsweeney\My Documents\Visual Studio 2008
    \Projects\TestConsole\TestConsole\Program.exe
       embedding: C:\PROGRA~1\Mono-2.2\lib\mono\2.0\mscorlib.dll
    Compiling:
    as -o temp.o temp.s
    gcc -mno-cygwin -g -o Program -Wall temp.c `pkg-config --cflags --libs mono|dos2
    unix`  temp.o
    /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/bin/ld: cannot op
    en output file Program.exe: Device or resource busy
    collect2: ld returned 1 exit status
    [Fail]

我声称我的unix gcc工具链已经安装并且状况良好,因为我最近能够使用它在eclipse中成功编译了一些c ++应用程序(尽管我认为我应该对任何问题开放......).

有人遇到过这样的事吗?我很难过......



1> configurator..:

它似乎正在尝试输出MyProject.exe,这与输入文件相同.

试试跑步

$ mkbundle -o ProgramOutput Program.exe --deps

顺便说一句,这只是猜测,因为我不知道mkbundle.


哇,我的精神力量越来越好!顺便提一下,提示是"无法打开输出文件Program.exe"的消息.
推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有