首页 > 编程语言 >devc++配置opengl库

devc++配置opengl库

时间:2024-11-09 17:19:18浏览次数:4  
标签:1.0 lib opengl -- 0.0 float dev c++ GL

由于VisualStudio太占内存,所以用老古董devc++配图形学的环境。

用到的文件下载链接

Step1:建项目

首先打开dev
点文件--新建--项目--Multimedia--OpenGL
c++/c都行(我这里用的c++)
名称最好用英文,然后确定,保存的地方也最好没有中文路径

Step2:添加库文件

找到DEV-C++的安装目录(右键快捷方式打开位置,再右键打开文件所在位置即可)
我的位置是在C:\Program Files (x86)\Dev-Cpp
点进 MinGW64
.h 文件拷贝到 \include\GL 下。如果没有GL文件夹,就新建一个。
.lib文件拷贝到\lib下。
.dll文件拷贝到 C:\Windows\System32下。如果是64位系统,则拷贝到C:\Windows\SysWOW64

Step3:设置链接器


点项目属性--参数
在链接那栏填下面的:

-lopengl32
"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/GlU32.Lib"
"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/glut32.lib"
"C:/Program Files (x86)/Dev-Cpp/MinGW64/lib/OpenGL32.Lib"

这里路径换成你这几个.lib文件的路径,可以点那个加入库或对象自己找
然后点工具--编译选项
勾上在连接器命令行加入以下命令
然后加上下面的

-static-libgcc -lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32

编译器我选的32位release

Step4:添加头文件

所有代码最前面添加两行

#define GLUT_DISABLE_ATEXIT_HACK
#include <windows.h>

然后大功告成

注:如果有奇怪报错可以试一下,右键main.cpp--使用···打开--Default application

运行一个简单的测试代码

#define GLUT_DISABLE_ATEXIT_HACK
#include <windows.h>
#include <GL/glut.h>
#include <math.h>


const float facX = 1.0f; // X轴缩放因子
const float x0 = 0.0f; // X轴平移量
const float facY = 1.0f; // Y轴缩放因子
const float yy = 0.0f; // Y轴平移量

float sinc(float x) {
    if (x == 0.0f) {
        return 1.0f;
    }
    return sin(x) / x;
}

void display() {
    float x, y;
	// 清除屏幕,使用背景色
    glClear(GL_COLOR_BUFFER_BIT);
    glColor3f(0.0, 0.0, 0.0);
    // 开始绘制线段序列
    glBegin(GL_LINE_STRIP);

	//计算sinc函数的值并绘制点
    for (x = -20.0f; x < 20.0f; x += 0.01f) {
        y = sinc(x);
        glVertex2f(x * facX + x0, y * facY + yy);
    }

    glEnd();
    glFlush();
}
void init() {
    glClearColor(1.0, 1.0, 1.0, 1.0);
    glMatrixMode(GL_PROJECTION);
    //正交投影
    gluOrtho2D(-20.0 * facX + x0, 20.0 * facX + x0, -1.0 * facY + yy, 1.0 * facY + yy);
}


int main(int argc, char** argv) {
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
    glutInitWindowSize(640, 480);
    glutCreateWindow("lab1");
    init();
    glutDisplayFunc(display);
    glutMainLoop();
    return 0;
}

标签:1.0,lib,opengl,--,0.0,float,dev,c++,GL
From: https://www.cnblogs.com/AuroraKelsey/p/18536971

相关文章

  • C++入门(C语言语法改进篇)
    目录C++第一个程序命名空间namespace的价值namespace定义命名空间的使用C++输入输出缺省参数全缺省参数半缺省参数函数重载参数类型不同参数个数不同C++第一个程序C++的文件名称后缀为.cpp,C++包含了C语言的大部分语法,所以在.cpp文件里面我们依然可以使用C语言编程......
  • C++输出奇特的三角形
    题目描述请根据下列规律输出奇特的图形,是一个被*包围了的@三角形n=3**@***@@@*@@@@@输入输入一个整数(3<=n<10)输出输出n行的图形样例输入 3样例输出 **@***@@@*@@@@@#include<iostream>usingnamespacestd;intmain(){ intn,j=1,t=0; cin>>n;......
  • 深入计算机语言之C++:模板初阶
     ......
  • c++-有关输出、信息输入、趣味输入应用、运算符、变量、浮点数数据类型的基础知识
    C++是一种功能强大且广泛使用的编程语言,它可以用于开发各种类型的应用程序。在这篇文章中,我们将介绍C++程序的输出、信息输入、趣味输入应用、运算符、变量和浮点数数据类型的基础知识。目录输出信息输入趣味输入应用运算符变量浮点数数据类型题目题目1:解答1:题目2:......
  • c++学习:封装继承多态
    目录封装封装的定义封装的好处封装的实例继承继承的定义继承的好处继承的实例多态多态的定义多态的好处多态的实例封装封装的定义封装是面向对象编程(OOP)中的一个核心概念,它指的是将数据(属性)和操作这些数据的函数(方法)结合在一起的过程,以此来模拟现实世界中的实......
  • 多态(c++)
    一、概念多态分为编译时多态(静态多态)和运行时多态(动态多态),函数重载和函数模板就是编译时多态,它们传不同的类型的参数就可以调用不同的函数,通过参数不同达到多种形态,因为它们实参传给形参的参数匹配是在编译时完成的,所以叫编译时多态运行时多态,在完成某个行为(函数),可以传不同......
  • 二叉树常用代码合集【C++版】(详细注释)
    二叉树常用代码合集【C++版】(详细注释)关键的地方有详细的注释。如果需要更详细的注释,可以丢给大模型再注释一遍。#include<iostream>#include<memory>#include<string>#definemv(x)std::move(x)#definecoutln(x)cout<<x<<endlusingnamespacestd;......
  • C++算法练习-day38——106.从中序和后序遍历序列构造二叉树
    题目来源:.-力扣(LeetCode)题目思路分析题目要求根据一棵二叉树的中序遍历(inorder)和后序遍历(postorder)结果重建这棵二叉树。中序遍历的特点是左子树->根节点->右子树,而后序遍历的特点是左子树->右子树->根节点。利用这两个遍历的特点,我们可以递归地重建整棵树。后序......
  • RT DETR v2 TensorRT C++ 部署详解
    RT-DETRv2TensorRTC++部署详解概述随着深度学习技术的发展,目标检测算法在各种应用场景下展现出了卓越的表现。RT-DETRv2(Real-TimeDetectionTransformerv2)作为一款高效的实时目标检测模型,其结合了Transformer架构的优势与传统卷积神经网络(CNNs)的速度,为开发者提供了在......
  • 利用 C++ 开发经典 2D (超级马里奥)平台游戏(代码可用~)
    ......