Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不同版本的Mac OSX向后兼容程度如何?(Xcode C+;+; 我正在使用C++进行游戏,并依赖于OpenGL的传统特性。_C++_Xcode_Macos_Backwards Compatibility - Fatal编程技术网

不同版本的Mac OSX向后兼容程度如何?(Xcode C+;+; 我正在使用C++进行游戏,并依赖于OpenGL的传统特性。

不同版本的Mac OSX向后兼容程度如何?(Xcode C+;+; 我正在使用C++进行游戏,并依赖于OpenGL的传统特性。,c++,xcode,macos,backwards-compatibility,C++,Xcode,Macos,Backwards Compatibility,我大部分时间都是在Windows机器上编程,现在正在考虑扩展到Linux和Mac OS。作为个人挑战,我想让我的软件尽可能向后兼容,并支持尽可能多的操作系统。有了Windows,我能够维持对低至Windows 95的支持(Visual Studio在这个过程中给了我一些麻烦,但还是解决了)。然而,我几乎不了解Mac OS,直到现在我自己才使用过它。考虑到我的软件运行在Windows 95上,它当然不需要任何高级功能 旧版本的Xcode似乎支持的最低版本的Mac OS是10.1.x。如果我要为这个

我大部分时间都是在Windows机器上编程,现在正在考虑扩展到Linux和Mac OS。作为个人挑战,我想让我的软件尽可能向后兼容,并支持尽可能多的操作系统。有了Windows,我能够维持对低至Windows 95的支持(Visual Studio在这个过程中给了我一些麻烦,但还是解决了)。然而,我几乎不了解Mac OS,直到现在我自己才使用过它。考虑到我的软件运行在Windows 95上,它当然不需要任何高级功能

旧版本的Xcode似乎支持的最低版本的Mac OS是10.1.x。如果我要为这个版本的Mac OS编写软件,它会在更现代的Mac OS版本上运行吗?我读到有一些软件补丁可以在never版本上支持一些旧的MacOS软件,但我不想给最终用户带来不便像那样。 我不介意构建两个不同版本的软件(比如说,一个遗留的和现代的启动器),但是必须构建五个或十个不同版本的软件将是一个巨大的痛苦,如果可能的话,我宁愿避免

我为我在这一领域的知识不足而道歉,我自己的研究只获得了非常有限的信息,我不愿意浪费数周时间在徒劳的努力上


我想用Xcode(C++)编写软件适用于支持尽可能多版本操作系统的Mac OSX。如果我的目标是Mac OS版本10.1,我能指望它在Mac OS的现代版本上运行吗?如果不能,需要付出多少努力才能支持尽可能多的Mac OS版本?

你将不得不决定在何处停止支持,或者必须在不同的专门构建的构建环境中构建多个版本的应用程序

现代macOS(10.15)严格来说只支持64位x86-64,不支持32位应用程序。如果你在10.15上构建,你甚至无法构建32位映像。如果你构建了32位映像,它将与旧版本操作系统上不存在的库相链接

Mac OS X 10.6是最后一个发布的32位x86版本,但也是该操作系统的第一个64位版本,因为它代表了向64位的过渡。它也是最后一个发布的PowerPC版本

如果您想支持PowerPC机器,这是10.1天内唯一的选择,您需要一个兼容的系统来构建它

就生态系统而言,大多数Mac用户都能够运行当前版本的操作系统。任何2012+版本的操作系统都仍然能够获得当前版本的操作系统,这是大量的硬件。在此之前的任何版本都是32位和PowerPC硬件的混合,尽管你不会看到很多人在野外使用这样的系统

简言之,10.15很容易,10.14和10.13并不难。超过10.14和10.13都会有不同程度的挑战,但超过10.6的事情会变得超级复杂

一种估算受欢迎程度的方法是类似以下情况的分类:

  • 10.15:31.6%
  • 10.14:34.1%
  • 10.13:14.8%
  • 10.12:5.7%
  • 10.11:3.7%

因此,好消息是,10.13之后,情况会急剧下降,到10.11,没有多少用户运行这么旧的操作系统。

您将不得不决定在哪里中断支持,或者您将不得不在不同的专门构建环境中构建多个版本的应用程序

现代macOS(10.15)严格来说只支持64位x86-64,不支持32位应用程序。如果你在10.15上构建,你甚至无法构建32位映像。如果你构建了32位映像,它将与旧版本操作系统上不存在的库相链接

Mac OS X 10.6是最后一个发布的32位x86版本,但也是该操作系统的第一个64位版本,因为它代表了向64位的过渡。它也是最后一个发布的PowerPC版本

如果您想支持PowerPC机器,这是10.1天内唯一的选择,您需要一个兼容的系统来构建它

就生态系统而言,大多数Mac用户都能够运行当前版本的操作系统。任何2012+版本的操作系统都仍然能够获得当前版本的操作系统,这是大量的硬件。在此之前的任何版本都是32位和PowerPC硬件的混合,尽管你不会看到很多人在野外使用这样的系统

简言之,10.15很容易,10.14和10.13并不难。超过10.14和10.13都会有不同程度的挑战,但超过10.6的事情会变得超级复杂

一种估算受欢迎程度的方法是类似以下情况的分类:

  • 10.15:31.6%
  • 10.14:34.1%
  • 10.13:14.8%
  • 10.12:5.7%
  • 10.11:3.7%

因此,好消息是,10.13之后,情况会急剧下降,到10.11,没有多少用户运行这么旧的操作系统。

Mac OS X现在是macOS,让您了解向后兼容的情况。Mac OS X现在是macOS,让您了解向后兼容的情况。正如我提到的,我的目标是旧的OSX版本比任何东西都更是个人的挑战。我怀疑仍有很多人在运行Windows 95,但这仍然是一个有趣的实验。根据您所描述的,一个基于OSX 10.6构建的程序在版本10.7到10.14上成功运行的可能性有多大?它是否有点像Windows XP,它的程序主要是在Windows 7上运行没有什么问题,或者OSX上的兼容性更易变吗?很难说,因为同一个操作系统的不同迭代改变了它们的向后/向前兼容性,这对于多年来生产的各种版本的XCode来说是加倍的。我想你不必编写很多代码