首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mono mkbundle窗口

mono mkbundle窗口
EN

Stack Overflow用户
提问于 2009-12-22 18:01:30
回答 1查看 2.1K关注 0票数 0

我已经在cygwin上使用了mkbundle来编译一个点网应用程序,它工作得很好。我用了这里的说明c# cywgwin mono mkbundle windows 7-无法编译文件

除非以下文件(从mono/bin复制)与应用程序位于同一个文件夹中,否则完成的应用程序将无法运行: mono.dll、libglib-2.0-0.dll、libglin-2.0-0.dll、zlib.dll

这一切看起来都没问题-不过,如果我运行命令(从cygwin)

$ objdump -p mycompiledapp.exe | grep "DLL Name"

(其中"mycompiledapp.exe“是应用程序的名称)

文件mono.dll、libglib-2.0-0.dll、libglin-2.0-0.dll已经嵌入到我的应用程序中。

为什么这些文件需要与我的应用程序在同一个文件夹中才能运行,而它们已经嵌入到我的应用程序中了?

我在编译时做错什么了吗?

有没有办法:

a)不要将这些程序集嵌入到我的应用程序中(这样它们就可以与应用程序一起分发)

( b)编译我的应用程序,以便它知道这些程序集嵌入到应用程序中,并使用这些程序集?(而不必将这些文件与应用程序一起分发)

这似乎只是一个痛苦的分发这些文件与我的应用程序,当他们已经嵌入其中!(特别是考虑到这些程序集的大小- 50k的点网应用程序以编译后的单应用程序的形式出现在5 megs左右,并且需要再分发4 meg的程序集才能运行.e)

谢谢你提供的信息,

史密西

EN

回答 1

Stack Overflow用户

发布于 2009-12-22 19:22:53

您可以在运行mkbundle时添加--静态标志。请注意,这将嵌入Mono库(mono.dll),即LGPL。至于libglib和libg线程,您应该找到它们的静态版本,并在链接时使用它们。请注意,在您的程序中嵌入LGPL库将使具有其他含意

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1948113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档