美文网首页工作笔记
CLion:OpenGL配置

CLion:OpenGL配置

作者: txfly | 来源:发表于2019-06-21 11:09 被阅读0次

    本文主要介绍使用CLion开发OpenGL项目时,freeglut 的基本配置。

    测试环境:CLion + MinGW64 + freeglut 3.0

    1. 下载freeglut,注意下载MinGW版本文件。
      https://www.transmissionzero.co.uk/files/software/development/GLUT/freeglut-MinGW.zip

    2. 创建工程,把freeglut-MinGW.zip里面的includelib目录复制到工程中,最终工程结构如下图所示:

      工程目录
    3. 修改cmake,添加freeglut头文件和库,并设置输出目录,修改后的CMakeLists.txt内容为:

    cmake_minimum_required(VERSION 3.14)
    project(demo C)
    
    include_directories(include)
    link_directories(lib/x64)
    
    set(CMAKE_C_STANDARD 11)
    set(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin)
    
    add_executable(demo main.c)
    
    #target_link_libraries(demo freeglut opengl32)
    target_link_libraries(demo libopengl32.a  libfreeglut.a)
    

    注意:本次使用64位编译器,所以要使用link_directories(lib/x64)

    1. 编译工程,并把压缩包freeglut-MinGW.zip里面的bin\x64\freeglut.dll复制到输出目录中(输出目录由set(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin)指定),具体目录为cmake-build-debug/bin。完整的工程结构为:

      工程目录
    2. 测试。如果运行出现Process finished with exit code -1073741515 (0xC0000135)或者类似错误时,可能是freeglut.dll和生成的exe文件不在同一目录,或者freeglut.dll的版本不对。

    #include <GL/glut.h>
    
    void render() {
        glClear(GL_COLOR_BUFFER_BIT);
        glBegin(GL_TRIANGLES);
        glVertex3f(-0.5f, -0.5f, 0.0f);
        glVertex3f(0.5f, 0.5f, 0.0f);
        glVertex3f(0.0f, 0.5f, 0.0f);
        glEnd();
        glFlush();
    }
    
    
    int main(int argc, char *argv[]) {
        glutInit(&argc, argv);
        glutInitWindowSize(480, 320);
        glutInitWindowPosition(200, 100);
        glutCreateWindow("OpenGL Demo");
    
        glutDisplayFunc(render);
    
        glutMainLoop();
        return 0;
    }
    
    demo

    版权声明:本文为「txfly」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://www.jianshu.com/p/434aa6e9287a

    相关文章

      网友评论

        本文标题:CLion:OpenGL配置

        本文链接:https://www.haomeiwen.com/subject/dbneqctx.html