【问题标题】:Best way to create a standalone-exe (Forms) (C++)创建独立 exe (Forms) (C++) 的最佳方法
【发布时间】:2011-07-07 17:38:57
【问题描述】:

我必须创建一个相对简单的测试应用程序。如果用户将设备插入 USB(隐藏库),表单将显示“通过”。如果没有检测到设备,它会说“失败”。

我想创建在 WinXP+ 上运行的应用程序。它必须是一个表单应用程序,因为它需要是可视的并且有颜色。对我来说最大的要求是它必须是独立的(用户只需双击,文件并打开,无需安装)。我需要避免安装任何额外的 .dll 文件,并希望完全避免使用 .net 框架。它必须用 C++ 编写。

所以我的问题是,我有哪些选择?我是表单应用程序的新手,我编写的唯一表单应用程序需要 .net 框架。

根据我的研究,Visual C++ 似乎是不可能的,因为它需要 .net 用于 Forms 应用程序。 Borland 的 Turbo C++ 怎么样?看起来已经过时了,但它可以胜任吗?

【问题讨论】:

    标签: c++ forms


    【解决方案1】:

    我建议 Borland C++ Builder 5 或 6。如果我们关闭 MFC,Visual C++ 缺乏创建 C++ 表单应用程序的功能

    【讨论】:

    • 是的,我选择了这条路线。在不到一小时的时间内创建一个应用程序! Borland 包含一些很棒的工具,可以将 Visual C++ .lib 文件转换为 Borland .lib 文件。实施非常简单。
    【解决方案2】:

    我会说 Visual C++ 可能仍然是您的最佳选择。仅使用本机 API 的标准简单 Win32 C/C++ 程序应该可以很好地满足您的需求。如果你的目标是 XP+,那么唯一的依赖就是 Windows 默认包含的“msvcrt.dll”。

    编辑:MSDN 上的这个article 应该让您朝着正确的方向开始。

    【讨论】:

    • 天啊,人们不想再手动编写表单了,你建议使用 WinAPI。更重要的是来自其他开发者的 UP 投票。 Visual C++ 一直缺乏原生 c++ rad 开发,因此押注于 .NET
    • @User 在 OP 的问题陈述中他说他需要一个窗口来说“通过”或“失败”,我不知道这是否真的证明了对“RAD”工具的需求。我将他链接到的文章将使他获得 90% 的成功。如果你想要“RAD”,那就是创建 MFC 的目的。
    • 感谢您的信息。不幸的是,我没有时间弄乱本地的东西。希望将来我可以更深入地研究它。
    【解决方案3】:

    您所说的是 C++/CLI,它是微软的 C++ 方言,需要 .Net 框架。请把它与 real (native) C++ 区分开来,后者可以用来创建你想要的东西。 Visual C++ 非常好,只要确保您没有创建 .Net 项目即可。

    【讨论】:

    • @user:我说过如何避免它。
    【解决方案4】:

    表单是一个 .NET 库。它不是 Windows 或类似的东西,您可以毫无问题地使用 Win32 中的本机 GUI 库或对其进行任何本机包装。您可以在 Visual Studio 中轻松地在本机 C++ 中实现这一点。

    【讨论】:

    • 谢谢。经过研究,我得出结论,使用 C++ Builder 10 是一个更好的解决方案。有时间我会更多地研究本机 WINAPI。
    【解决方案5】:

    如果您希望以快速的方式创建应用程序(即您可以拖放到表单上的库存 UI 组件),我的经验是 Embarcardero C++ Builder 有效地解决了这个问题空间.

    我喜欢 Visual C++,但它不是快速创建基于表单的应用程序的好环境。我想强调一下,我指的是快速应用程序开发 (RAD) 工具。有很多很棒的 C++ IDE 和库可用于创建基于表单的应用程序,它们都应该能够创建独立的 exe。

    以下是可能有助于您做出决定的相关问题列表:

    【讨论】:

    • 很棒的链接。我将阅读它们。我最终使用了 C++ Builder,它真的很简单并且有据可查。我在网上找到了很多帮助。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-12-06
    • 2014-06-06
    • 2012-07-30
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-09
    相关资源
    最近更新 更多