【问题标题】:Basic Open GL/GLUT Issue基本 Open GL/GLUT 问题
【发布时间】:2010-12-13 13:13:30
【问题描述】:

我正在研究图形,目前正在使用 OpenGL 和 GLUT。在代码块中进行编辑并使用位于lighthouse3d 的在线教程。我正在使用该页面上声明的主要方法,但它不会让我编译。错误消息由不返回 int 的 main 方法组成,我已经“玩”过代码足以说我很困惑。安装了 GLUT 库,但我看不到错误来自哪里。

谢谢你, 扎克·史密斯

【问题讨论】:

    标签: opengl graphics glut


    【解决方案1】:

    你可能有这样的方法:

    void main(int argc, char** argv) {
        // The code...
    }
    

    改成这样:

    int main(int argc, char** argv) {
        // The code...
        return 0;
    }
    

    【讨论】:

    • 如果我这样做,会出现许多其他错误。以下是一些错误示例... C:\Users\Zach\Desktop\OpenGL_Robot\robot.o:robot.cpp:(.text+0x1c)||undefined reference to ___glutInitWithExit@12'| C:\Users\Zach\Desktop\OpenGL_Robot\robot.o:robot.cpp:(.text+0x5d)||undefined reference to __glutCreateMenuWithExit@8'|跨度>
    • @Zach:我只知道可以帮助您解决最初的问题。我建议您创建另一个问题来处理您的其他错误。
    • 要么您缺少库 (glut.lib),要么您颠倒了加载顺序。
    • 小点:你真的不需要在openGL中返回0。调用 glutMainLoop() 后,一切都由 Event Handler 处理。
    【解决方案2】:

    问题是您没有链接所需的库。

    右键单击“解决方案资源管理器”中的项目图标,然后单击“属性”,转到项目属性。然后在 'Configuration Properties' -> 'Linker' -> 'Input' 下,将以下库添加到 'Additional Dependencies' 字段:

    opengl32.lib glut32.lib glu32.lib

    重建你的项目,一切都会好起来的!

    【讨论】:

    • 同意。您尚未将库分配给您的项目。如果您使用的是 GCC 编译器,则应按照 mrucci 的回答分配“glut32.a”。注意:不是“.lib”,而是“.a”文件!但是,如果您选择的编译器是 VisualStudio 的编译器 - 请按照上述说明进行操作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多