没有框架的 C++ GUI

标签 c++ user-interface frameworks

据我所知,没有办法让 C++ GUI 设计器将您的应用程序作为一个独立的可执行文件发布。所有第 3 方框架都以 .dll-s 等形式添加它们的依赖项,无论是 MFC、Qt、WTL、wxWidgets、GTK。这让我只有一个解决方案——使用 Win32 API 自己为我当前的应用程序设计 GUI。我的假设是正确的还是我遗漏了什么?我一直想知道 uTorrent 和其他一些人是如何做到这一点的。谢谢。

最佳答案

不,您可以静态链接大多数流行的 GUI 框架,包括 MFC、Qt、ATL/WTL 和 wxWidgets。我不知道 GTK,但我认为您可能也可以静态链接它。

静态链接意味着不是动态链接到 DLL 中的库代码,而是将该代码直接链接到您的可执行文件,从而生成一个独立的 EXE 文件,您可以在没有任何外部依赖项的情况下发布。

但当然,这些依赖项仍将存在,并且它们仍会膨胀您的可执行文件的大小,这可能是一个问题,具体取决于您的部署机制。此外,对于接近金属的编程也有话要说,因此直接使用 Win32 API 绝对是一种选择。这将产生绝对最小、最轻的应用程序,而且可能也是最快的。事实上,我相信这正是 μTorrent 所做的(或者至少,这是他们在几个版本之前所做的)。

关于没有框架的 C++ GUI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9654167/

相关文章:

c - 是否有任何以 C DLL 形式存在的 GUI 工具包?

java - 如何从本地文件系统在 JEditorPane 中显示图像?

C++测试框架: recommendation sought

python - python 可以同时使用相对导入和绝对导入吗?

c++ - 如何为用户输入内容添加时间限制,否则它会继续?

c++ - '{' 标记之前的预期类名。 C++继承

c++ - 将一些声音数据渲染成一个新的声音数据?

c++ - Encoding.Unicode.GetByteCount(str) 的 C++ 等价物?

java - Java 的周和月选择器

python - web2py 中子进程的使用