在 Windows 中分发基于 wxHaskell 的应用程序
对于在 Windows 上分发的基于 wxHaskell 的应用程序,我可以将必要的 WX DLL 与应用程序一起分发,而无需单独安装 WX 吗?
我希望能够将应用程序作为 zip 文件分发,而不要求用户安装任何内容。这可能吗?
For a wxHaskell based application distributed on Windows, can I distribute the necessary WX DLLs right alongside the application, without having to do a separate install of WX?
I want to be able to distribute the application as a zip file and not require the user to have anything installed. Is that possible?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我绝不是 wxHaskell 或 wxWidgets 专家,但是...
对于您的用例,听起来您想要静态链接库,而不是 DLL。 WxWidgets 似乎对此很满意。因此,如果您使用 ghc -static -optl-static -optl-pthread,您应该会得到您想要的结果。
一些注释:
-static
选项并不是真正必要的:它是 ghc 的默认值。-optl
选项被传递给 gcc。-optl-static
静态链接您正在使用的任何 C 库(我想 wxHaskell 使用一些)。-optl-pthread
对我来说是黑魔法,但它 似乎是个好主意。I'm by no means a wxHaskell or a wxWidgets expert, but...
For your use case, it sounds like you want statically linked libraries, not DLLs. WxWidgets seems to be fine with that. So if you use
ghc -static -optl-static -optl-pthread
, you should get the result you want.Some annotation: the
-static
option isn't really necessary: it's ghc's default. The-optl
options get passed to gcc.-optl-static
statically links in any C libraries you're using (and I imagine wxHaskell uses some). And-optl-pthread
is black magic to me, but it seems like a good idea.