我在一个开发团队工作,我们中的一个专门在Windows下工作,我主要在Mac工作。我们想在C++或Objective中开发基于C的应用程序,但是我对如何进行跨平台开发项目并不了解。
使用Mac在C++中工作是否可行?显然,它们面向的是目标C,但对C++的支持也同样多。那么这些语言的跨平台开发呢?我会使用类似boost和某种UI库之类的东西。
有没有人有为多个平台开发的经验,但允许应用程序在不需要VM的情况下以本地方式运行?
编辑:现在有很多答案我想标记为正确。似乎Qt是在C++中开发它的最佳方法。这很可能是为了*nix,OS和Windows,所以这将是我们个人最好的选择。如果我能避免编写Objective,那么团队就会坚持C++,那么就更好了。如果我必须用Objective编写GUI并进行混合和匹配,那么这也不算太麻烦了。
发布于 2009-05-14 13:16:19
你可以看看Qt。我已经在Windows、Linux和Mac项目中成功地使用了它。
发布于 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所需的设计范例有多满意之后才能做出决定。
发布于 2009-05-14 13:25:16
我使用的是用C或C++编写的公共库,它具有应用程序的所有核心功能。
假设你正在建立一个纸牌游戏。因此,您将在一个纯C++ (主要是独立于平台的)库中拥有核心类。
然后,您将有单独的UI项目,每个平台上都有一个您想要在其上部署纸牌的项目:
这是更多的工作,但在我看来,结果产品肯定比使用平台独立的小部件集(如QT或wxWidgets )更好。
尽管如此,如果您打算在一个完全控制部署环境的公司内部部署您的产品,并且您不太关心结果产品在不同平台上的行为,那么您肯定可以对任何事情(QT、wxWidgets或您可能遇到的任何其他方面)使用公共API。
https://stackoverflow.com/questions/863240
复制相似问题