64位系统上的OS X Carbon框架 [英] OS X Carbon framework on 64bit system

查看:168
本文介绍了64位系统上的OS X Carbon框架的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在Mac OS X Maverick上使用C ++中的Carbon框架创建一个窗口,我需要它来设置AGL窗口OpenGL上下文,但是我发现大多数相关的Carbon方法仅在x86模式下链接.在"CreateNewWindow"方法的标题中明确指出:

I am trying to create a window using Carbon framework in C++ on Mac OS X Maverick.I need it to setup AGL window OpenGL context.But what I found is that most of related Carbon methods link only in x86 mode.For example in the header for 'CreateNewWindow' method it is clearly stated :

可用性:* Mac OS X:10.0版和更高版本 Carbon.framework [仅32位]

Availability: * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]

所以我只能在32位模式下成功编译它,因为我以64位操作系统为目标,这对我来说是没有用的.64位的解决方法是什么?另外,我对使用Cocoa + ObjectiveC的方式也不感兴趣.

So I succeed compiling it only in 32bit mode which is useless to me as I target 64bit OS.What's the workaround for 64bit? Also I am not interested in using Cocoa + ObjectiveC way of doing it.

推荐答案

如上所述,64位模式不再支持Carbon.您需要创建一个Cocoa应用程序.执行所需操作的最简单方法是创建一个包含NSWindow Reference.html> NSOpenGLView .

As mentioned, Carbon is no longer supported in 64-bit mode. You need to create a Cocoa app. The easiest way to do what you want is to create an NSWindow containing an NSOpenGLView.

此外,不推荐使用AGL.从NSOpenGLView获得的上下文将是CGLContext.

Also, AGL is deprecated. The context you get from an NSOpenGLView will be a CGLContext.

听起来您正在尝试使一些旧代码起作用.您还应该阅读OpenGL 3.3及更高版本.如果您使用的是与Carbon一起使用的OpenGL代码,则可能是OpenGL 1.2并使用了许多不推荐使用的功能.

这篇关于64位系统上的OS X Carbon框架的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆