- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一款使用 C++ 并依赖于 OpenGL 遗留功能的游戏。
我主要在 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 软件,但我不想那样给最终用户带来不便。我不介意构建两个不同版本的软件(例如,传统和现代启动器),但必须构建五个或十个不同版本的软件将是一个巨大的痛苦,我宁愿尽可能避免这种情况。
对于我在该领域缺乏知识,我深表歉意,我自己的研究只提供了非常有限的信息,我宁愿不要在毫无结果的努力上浪费数周时间。
TL;DR:我想用 Xcode (C++) 为 Mac OSX 编写软件,以支持尽可能多的操作系统版本。如果我的目标是 Mac OS 版本 10.1,我可以期望它在现代版本的 Mac OS 上运行吗?如果不是,要支持尽可能多的 Mac OS 版本需要付出多少努力?
最佳答案
您将不得不决定在何处停止支持,或者您将不得不在不同的专门构建的构建环境中构建应用的多个版本。
现代 macOS (10.15) 仅限 64 位 x86-64,对 32 位应用程序的支持为零。如果您在 10.15 上构建,您甚至无法构建 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.6 的任何事情都会有不同程度的挑战,但超过 10.6 的事情就会变得非常复杂。
估计受欢迎程度的一种方法是像 Steam Hardware Survey 这样的东西 segmentation 如下所示:
所以好消息是,在 10.13 之后情况急剧下降,到 10.11 时,运行这么旧操作系统的用户已经不多了。
关于c++ - 各种版本的 Mac OSX 的向后兼容性如何? (Xcode C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59914543/
这不是我的专业领域,所以我希望问的是正确的问题。 我们有一台滚动租用的服务器。旧服务器是32位windows服务器,新服务器是64位windows 2008 R2 SP1。 其中一个 Web 应用程序
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我已将 Oracle 数据库从 10g 迁移到 12c。从 12c 开始,oracle 不支持 PLSQL_V2_COMPATIBILITY 参数。 该参数用于: https://www.safari
开发环境db server为SqlServer 2005(开发版) 有什么方法可以确保我的 SQL 查询将在 SqlServer 2000 中运行? 此数据库设置为兼容级别“SQL Server 20
我有一个这种形式的类: public class Foo implements Serializable { private static final long serialVersionUI
我有以下代码来隐藏状态栏,取自 http://developer.android.com/training/system-ui/status.html和 Hide status bar android
我正在尝试测试 .prop() 是否方法存在于当前包含的 jQuery 中(出于兼容性原因): if(typeof $.prop === 'function') 我期望上面的条件是 true对于 jQ
当收到新消息时,我在项目中使用BroadcastChannel更改所有选项卡的标题。 问题在于它仅适用于chrome和firefox。因此,我决定使用localStorage创建一个Broadcast
我正在使用一个函数通过 FTP 将一个文件上传到我的服务器。这是我的代码并且工作正常但是创建的文件 example.json 不兼容 UTF8,因为它有 Atlético 而不是 Atlético 例
我正在使用兼容性类来构建用户代理字符串: public abstract class Compatibility { private static int sdkInt = 0; pr
我需要实现一个 C 例程来(解)压缩 gzip 格式的文件。 谁能举个例子? 我试过 zlib,但它似乎不兼容。 谢谢。 最佳答案 zlib 与 gzip 文件完全兼容,但您需要确保您使用的是面向 g
我正在使用以下 CSS 代码,它与 Chrome 完美兼容,但与 IE 浏览器不兼容 .collapse{ display:block; } .collapse + input[type="c
我的应用程序以 android Sdk 的 v10 为目标,但具有 minSdkVersion 的 v6。默认情况下,“match_parent”属性将用于宽度或高度。我应该为 fill_parent
我正在阅读有关 dynamic_cast 的内容,然后我遇到了以下语句 ( from cplusplus.com ): Compatibility note: This type of dynamic
我正在尝试在 Linux 下使用 QtCreator 构建一个用 VS 2008 编写的项目,但我遇到了很多错误: /home/ga/dev/CppGroup/MonteCarlo/main.cpp:
因此,我正在构建一个网站,用户可以在该网站上上传观看视频。我正在使用标准的 HTML5 视频播放器 ( ... )目前,我使用多个来源:MP4、OGG 和 WEBM,以实现跨浏览器兼容性 由于维护三
mozilla 和其他浏览器是否有类似-webkit-box-reflect 的属性?我无法在谷歌上找到哪些其他浏览器支持这个。因此,如果有人可以告诉我或给我链接,那就太好了。 最佳答案 这不仅可以使
我定义了一个自定义的 ValidateSet 参数属性,如下所示: Class MyValidValuesAttribute : System.Management.Automation.IValid
我使用 .net 4.0、linq 等编写 winforms 应用程序。它可以在带有 .net 2.0 的机器上运行吗? 最佳答案 不,不会。为 Framework 4.0 版编译的应用程序将要求该框
我如何专门检查 @keyframes translate3d 动画 与浏览器的兼容性? 请不要关闭这个问题,因为在问这个问题之前我已经尝试了很多 stackoverflow 解决方案。 我想检查我的网
我是一名优秀的程序员,十分优秀!