首页 > 其他 > 详细

GLUT-HelloWorld范例

时间:2021-05-13 09:58:23      阅读:15      评论:0      收藏:0      [点我收藏+]

环境

===============================

cmake版本: 3.16

编译器: vs 2019

glut: 3.7

===============================

假设GLUT的安装目录为G:\dev\glutdlls37beta.

1. 编写解决方案的CMakeLists.txt.

cmake_minimum_required(VERSION 3.10)

project(GLUT_DEMO)

set(CMAKE_PREFIX_PATH "G:/dev/glutdlls37beta")
set(GLUT_INCLUDE_DIR "G:/dev/glutdlls37beta")

find_package(GLUT REQUIRED)

# 如果未设置,报错, error LNK2026: 模块对于 SAFESEH 映像是不安全的。
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO")

if (${GLUT_FOUND})
    MESSAGE(STATUS "Find GLUT")
    MESSAGE(STATUS "GLUT libraries: ${GLUT_LIBRARIES}")
    MESSAGE(STATUS "GLUT include : ${GLUT_INCLUDE_DIR}")
    MESSAGE(STATUS "GLUT glut_library : ${GLUT_glut_LIBRARY}")
endif(${GLUT_FOUND})

add_subdirectory(src)

2. 在src目录下建立项目文件夹, 编写项目的CMakeLists.txt

set(DEMO_SRC
    main.cpp)

include_directories(${GLUT_INCLUDE_DIR})
link_directories(${GLUT_INCLUDE_DIR})

# 将exe输出到单独的bin目录
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)

link_libraries("glut32")

add_executable(hello ${DEMO_SRC})

3. 编写范例代码, main.cpp

#include <iostream>

#include <glut.h>

void draw(void)
{
    // TODO
}
int main(int argc, char* argv[])
{
    // initialize
    glutInit(&argc, argv);

    glutInitWindowSize(640, 480);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);

    glutInitWindowPosition(100, 100);

    // create window
    glutCreateWindow("TestBench");

    

    glutDisplayFunc(draw);
    
    // enter main loop = for event.
    glutMainLoop();
    return 0;
}

4. 执行CMake程序,

技术分享图片

 

 5. 使用vs编写程序, 得到可执行文件, 运行效果如图.

技术分享图片

 

毕!

 

 

                            ------------ 勿在浮沙筑高台

 

GLUT-HelloWorld范例

原文:https://www.cnblogs.com/068XS228/p/14763054.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!