首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨平台目标-C/ C++开发

跨平台目标-C/ C++开发
EN

Stack Overflow用户
提问于 2009-05-14 13:09:00
回答 4查看 7.1K关注 0票数 8

我在一个开发团队工作,我们中的一个专门在Windows下工作,我主要在Mac工作。我们想在C++或Objective中开发基于C的应用程序,但是我对如何进行跨平台开发项目并不了解。

使用Mac在C++中工作是否可行?显然,它们面向的是目标C,但对C++的支持也同样多。那么这些语言的跨平台开发呢?我会使用类似boost和某种UI库之类的东西。

有没有人有为多个平台开发的经验,但允许应用程序在不需要VM的情况下以本地方式运行?

编辑:现在有很多答案我想标记为正确。似乎Qt是在C++中开发它的最佳方法。这很可能是为了*nix,OS和Windows,所以这将是我们个人最好的选择。如果我能避免编写Objective,那么团队就会坚持C++,那么就更好了。如果我必须用Objective编写GUI并进行混合和匹配,那么这也不算太麻烦了。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2009-05-14 13:16:19

你可以看看Qt。我已经在Windows、Linux和Mac项目中成功地使用了它。

票数 9
EN

Stack Overflow用户

发布于 2009-05-14 13:21:21

我在一家软件公司工作,该公司使用C++、MFC和Objective为Mac和Windows生产软件。

是的,这绝对是可能的。

如果您在C++中开发应用程序的“核心”,您可能会得到最好的服务。在MVC应用程序中,C++部分将是模型,也可能是控制器。对于接口到GUI和其他操作系统特定接口的代码,您应该使用本机API:在Mac上使用Objective,在Windows上使用C#。

Mac的好处是你可以一起编译C++和Objective。您甚至可以使用Objective++将C++和Objective编译在同一个编译单元中。不幸的是,您不能使用C# (有一种叫做托管C++的东西,它是另一种动物)。

我将避免跨平台框架,如Qt和wxWidgets。它们都允许您开发跨平台的应用程序,但是这种应用程序的外观和感觉并不尽如人意。不过,我更熟悉wxWidgets,它的设计非常适合Windows的应用程序设计范例。

编辑2009年5月14日,9:44 AM东部时间:如果Qt现在允许真正的外观和感觉的本地平台,它可能是一个很好的选择。我还没有看过最新的版本,所以在设计您自己的框架之前,您可能想看看这个框架。这个决定应该在检查了应用程序的结果以及您对Qt所需的设计范例有多满意之后才能做出决定。

票数 11
EN

Stack Overflow用户

发布于 2009-05-14 13:25:16

我使用的是用C或C++编写的公共库,它具有应用程序的所有核心功能。

假设你正在建立一个纸牌游戏。因此,您将在一个纯C++ (主要是独立于平台的)库中拥有核心类。

  • CoreSolitaire

然后,您将有单独的UI项目,每个平台上都有一个您想要在其上部署纸牌的项目:

  • iSolitaire (基于iPhoneOS的目标C,MultiTouch Cocoa )
  • MacSolitaire (目标-C,基于Cocoa的Mac )
  • WinSolitaire (基于C++、Win32或C#的Windows )
  • GSolitaire (基于C++/unix的GNome/GTK )

这是更多的工作,但在我看来,结果产品肯定比使用平台独立的小部件集(如QTwxWidgets )更好。

尽管如此,如果您打算在一个完全控制部署环境的公司内部部署您的产品,并且您不太关心结果产品在不同平台上的行为,那么您肯定可以对任何事情(QT、wxWidgets或您可能遇到的任何其他方面)使用公共API。

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

https://stackoverflow.com/questions/863240

复制
相关文章

相似问题

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