simonsthreebody 2023-05-02 17:07 采纳率: 0%
浏览 37

C++ OpenGL 的使用方法问题

这是一段H3T大lao写的C++程序。

#include <GL/glew.h>
#include <GL/freeglut.h>
int screen[800][600][3] = {0}; // 三维数组,保存每个像素的颜色值
void display()
{
    glClear(GL_COLOR_BUFFER_BIT); // 清空窗口
    glBegin(GL_POINTS); // 开始绘制点
    for (int x = 0; x < 800; x++)
    {
        for (int y = 0; y < 600; y++)
        {
            glColor3ub(screen[x][y][0], screen[x][y][1], screen[x][y][2]); // 设置点的颜色
            glVertex2i(x, y); // 设置点的坐标
        }
    }
    glEnd(); // 结束绘制点
    glFlush(); // 刷新窗口
}
int main(int argc, char** argv)
{
    glutInit(&argc, argv); // 初始化OpenGL库和窗口系统
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // 设置窗口显示模式
    glutInitWindowSize(800, 600); // 设置窗口大小
    glutCreateWindow("My Screen"); // 创建窗口
    glMatrixMode(GL_PROJECTION); // 设置投影矩阵
    glLoadIdentity();
    glOrtho(0, 800, 0, 600, -1, 1);
    glMatrixMode(GL_MODELVIEW); // 设置模型视图矩阵
    glLoadIdentity();
    glutDisplayFunc(display); // 注册窗口显示回调函数
    glutMainLoop(); // 进入事件循环
    return 0;
}

头文件已经下载并复制到GL文件夹里,编译时报错 collect2.exe [Error] Id return 1 exit status .
欢迎各位大lao帮忙解决问题,如有有帮助的回答,感激不尽!
这是我的朋友“Threenewbeer”(似乎可能大概也许冒犯了threenewbee)之前提出的问题,但可能由于时间不允许,H3T没有及时回复。如果H3T看到了这条消息,希望能在此回复。
如果需要查看详细信息,可以去原问答连接:

  • 写回答

2条回答 默认 最新

  • Py小郑 Python领域潜力新星 2023-05-02 17:18
    关注

    这段程序编译错误的原因可能有很多,根据你提供的信息,我无法确定具体原因。一般情况下,collect2.exe错误是由于链接器链接失败导致的,可能是某些库没有正确链接或者编译选项有误等。

    以下是一些可能的解决方法:

    1. 确认编译环境是否正确配置,特别是是否安装了需要的库和工具链,例如OpenGL库和编译器等。

    2. 检查代码中是否存在语法错误或逻辑错误,特别是在定义数组和变量时是否出现错误。

    3. 检查链接选项是否正确,例如是否添加了正确的库路径和库文件等。

    4. 如果以上方法都不起作用,可以尝试在编译时添加-v选项,查看编译过程中详细的输出信息,以便进一步确定错误原因。

    希望这些方法能对你有所帮助。如果问题仍然存在,请提供更多详细信息,我会尽力帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 5月2日

悬赏问题

  • ¥15 chaquopy python 安卓
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥30 vmware exsi重置后登不上
  • ¥15 易盾点选的cb参数怎么解啊
  • ¥15 MATLAB运行显示错误,如何解决?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题