Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/27.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
C++ 如何使用c+在mac中创建窗口+;还有opengl?_C++_Objective C_Macos_Opengl - Fatal编程技术网

C++ 如何使用c+在mac中创建窗口+;还有opengl?

C++ 如何使用c+在mac中创建窗口+;还有opengl?,c++,objective-c,macos,opengl,C++,Objective C,Macos,Opengl,我是mac开发的新手。目前,我已经开始使用windows(使用direct3d)开发一个3d程序,我希望使用opengl扩展到mac。我目前有关于如何初始化窗口并使用opengl和windows在其中绘制的代码。我正在寻找一种最简单的方法,用mac界面替换这个应用程序的windows部分 bool SystemClass::InitializeWindows(OpenGLClass* OpenGL, int& screenWidth, int&screenHeight){ WND

我是mac开发的新手。目前,我已经开始使用windows(使用direct3d)开发一个3d程序,我希望使用opengl扩展到mac。我目前有关于如何初始化窗口并使用opengl和windows在其中绘制的代码。我正在寻找一种最简单的方法,用mac界面替换这个应用程序的windows部分

bool SystemClass::InitializeWindows(OpenGLClass* OpenGL, int& screenWidth, int&screenHeight){
WNDCLASSEX wc;
DEVMODE dmScreenSettings;
int posX, posY;

ApplicationHandle = this;
m_hinstance = GetModuleHandle(NULL);

m_applicationName = L"Engine";

wc.style         = CS_HREDRAW;
wc.lpfnWndProc   = WndProc;
wc.hInstance     = m_hinstance;
wc.hIcon         = LoadIcon(NULL, IDI_WINLOGO);
wc.hIconSm       = wc.hIcon;
wc.hCursor       = LoadCursor(NULL, IDC_ARROW);
wc.lpszMenuName  = NULL;
wc.lpszClassName = m_applicationName;
wc.cbSize        = sizeof(WNDCLASSEX);

    //etc 
    //set full screen mode
    //set window to front
    //hide mouse
当我研究这一点时,我看到很多人使用objective-c或coco,我是否必须使用objective-c或coco才能得到我想要的结果?如果是这样,我还能用C++或Objul-C++与COCO库吗?< /P> 最后,与mac中的messagebox()最简单的等价物是什么?我使用了NSGetCriticalAlertPanel(),但似乎无法使其正常工作(主要是因为我找不到必须包含的相应库)

PS:我正在使用xcode编译器,如果有更好的或者你更喜欢的,请推荐(我不是xcode的忠实粉丝)。

你可以从最新的xcode开始。你还需要安装你可能有的东西。教程中有关于如何将inlcude SDL安装到项目中的详细说明。在所有东西都初始化并准备好使用之后,您可以找到很多,您可以专注于此


可能也会有帮助。

使用openGL无法创建窗口,因为它是一个仅用于渲染的api。窗口创建将是一些特定于平台的代码,最终您将调用A(apple)GL函数来创建openGL渲染上下文。它被称为Cocoa而不是coco。是的,您必须使用Objective-C(+/++),因为MacOSX基本上是基于其基于消息的OOP系统。Cocoa对于MacOS X就像Win32 API对于windows一样。对于初学者(以及像这样的端口),我不建议您使用Cocoa,因为有相当多的学习曲线。取而代之的是,使用诸如SDL.thanx之类的库来处理所有的评论,有谁有好的教程或参考页吗?(针对上述主题)