gpt4 book ai didi

c++ - Xcode4 和 OpenGL - 程序收到信号 : EXC_BAD_ACCESS

转载 作者:行者123 更新时间:2023-11-30 03:07:58 25 4
gpt4 key购买 nike

我正在迈出使用 OpenGL 和 Xcode4 的第一步。因此,我创建了一个新项目(应用程序 -> 命令行工具 -> C++)。

在项目中,我转到Targets -> Build Phases -> Link Binary With Libraries 并添加两个框架:OpenGL.framework 和 GLUT.framework

这是我的 main.cpp:

#include <iostream>
#include <stdlib.h>
#include <GLUT/glut.h>

void RenderScene()
{
glLoadIdentity ();
glBegin( GL_POLYGON );
glColor4f( 1.0, 0.0, 0.0, 1.0);
glVertex3f( -0.5, -0.5, -0.5 );
glVertex3f( 0.5, -0.5, -0.5 );
glVertex3f( 0.5, 0.5, -0.5 );
glVertex3f( -0.5, 0.5, -0.5 );
glEnd();
glFlush();
}

int main(int argc, char **argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize( 600, 600 );
glutCreateWindow( "Name_1; Name_2" );
glutDisplayFunc( RenderScene );
return 0;
}

当我运行项目时,构建成功。

但是在 glutCreateWindow( "Name_1; Name_2"); 行,Xcode 告诉我“线程 1:程序接收到信号:“EXC_BAD_ACCESS”,它没有显示任何窗口。

请帮助我 :) 谢谢!

[[编辑]]

这是堆栈跟踪:

    This GDB was configured as "x86_64-apple-darwin".tty /dev/ttys001
[Switching to process 7126 thread 0x0]
2011-03-30 16:14:45.052 OpenGL[7126:903] NSSoftLinking - The function 'CGLSetOption' can't be found in the OpenGL framework.
sharedlibrary apply-load-rules all
Current language: auto; currently c++
(gdb) where
#0 0x0000000000000000 in ?? ()
#1 0x00007fff815efb43 in createPixelFormat ()
#2 0x00007fff815efae9 in -[NSOpenGLPixelFormat initWithAttributes:] ()
#3 0x000000010001bad3 in createPixelFormat ()
#4 0x000000010001b251 in __glutDeterminePixelFormat ()
#5 0x000000010001b3f7 in __glutCreateWindow ()
#6 0x000000010001b7bd in glutCreateWindow ()
#7 0x0000000100000d2b in main (argc=1, argv=0x7fff5fbff6e8) at /Users/.../main.cpp:23
Current language: auto; currently c++
(gdb)

最佳答案

我已经使用您发布的代码在我的 Macbook Pro(家用)和 Fedora 14 PC(工作)上运行了这段代码(有一些小的改动 - 见下文)。您的问题似乎是您自己的问题,而不是 Glut 或您的代码的问题。

这是它的样子:

enter image description here

稍作修改的代码(清除窗口并进入主循环):

#include <iostream>
#include <stdlib.h>
#include <GLUT/glut.h>

void RenderScene()
{
glLoadIdentity ();
glClear(GL_COLOR_BUFFER_BIT);
glBegin( GL_POLYGON );
glColor4f( 1.0, 0.0, 0.0, 1.0);
glVertex3f( -0.5, -0.5, -0.5 );
glVertex3f( 0.5, -0.5, -0.5 );
glVertex3f( 0.5, 0.5, -0.5 );
glVertex3f( -0.5, 0.5, -0.5 );
glEnd();
glFlush();
}

int main(int argc, char **argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_SINGLE | GLUT_RGB );
glutInitWindowSize( 600, 600 );
glutCreateWindow( "Name_1; Name_2" );
glutDisplayFunc( RenderScene );
glutMainLoop();
return 0;
}

关于c++ - Xcode4 和 OpenGL - 程序收到信号 : EXC_BAD_ACCESS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5487031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com