c++ - CreateNewWindow 位于哪里?

标签 c++ macos macos-carbon

我正在 OS X 上做一个第一次项目,我正在尝试制作一个 Carbon 窗口。添加后 #include <Carbon/Carbon.h>我能够解决关于 WindowRef 的所有错误但我仍然在 CreateNewWindow 上遇到编译错误.通过谷歌阅读表明该功能自 10.6 以来已被弃用(我做对了吗?)。如果是这样,在不涉及 Cocoa 和 Objective-C 的情况下创建 Carbon 窗口的正确方法是什么?

最佳答案

CreateNewWindow() 是 Carbon 窗口管理器 API 的一部分。随着 2012 年 macOS 10.8 的发布,它与绝大多数 Carbon 一起被弃用。

请勿将 Carbon API 用于新开发。它自 2012 年以来已被弃用,不能在 64 位应用程序中使用。这意味着它在 macOS 10.15 (Catalina) 中不受支持,因为在该版本中已删除了对 32 位可执行文件的支持。

(顺便说一下,这可能是导致编译错误的原因。对于所有新的 macOS 项目,Xcode 默认以 x86_64 为目标,而 Carbon 在 64 位应用程序中不可用。)

如果您不想使用 Cocoa,请考虑使用一种可用的跨平台用户界面 API,例如 wxWindows 或 QT。不要使用 Carbon——它已经死了。

关于c++ - CreateNewWindow 位于哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40949955/

相关文章:

cocoa - 同时运行 Cocoa 应用程序的两个实例是一个坏主意吗?

macos - 如何检测OS X应用程序是否已经启动

c++ - 连接器错误问题

c++ - 如何在C++中使用模板对象的模板成员函数创建线程

c++ - 是否多次调用多个继承的构造函数?

c++ - 帮助使用 OSSpinLock* 替换 while(true) {sleep(1);}

c++ - std::unique_ptr 用法

swift - 充满活力的背景中的标签和 NSView

ios - Swift - 如何从特定实例调用方法?

cocoa - cocoa 中的 HIViewSetZOrder 等效项