随处开发OpenGL应用程序

use*_*910 5 opengl portability cygwin g++ freeglut

我正在学习OpenGL,我通常在我大学的实验室里学习.

我的问题是大学里的计算机没有安装必要的库来研究程序,我在这些计算机上只有用户权限,所以我无法安装任何需要管理员权限的东西.

通常我在Linux环境中开发,但实验室中的计算机都运行Windows XP或Windows 7.我用g ++来编译我的程序,freeglut和opengl库.我还使用OpenGL扩展来使用顶点数组对象,以及其他功能到新版本的OpenGL.

我想如果这是一种将我需要的东西放在我的pendrive中的方法,只需在我去的每台计算机上执行此操作,而无需安装任何东西.也许类似的东西就像把所有的文件库与cygwin和一个记事本++可移植到pendrive中并使用pendrive上的cygwin编译我的程序.

但是我怎样才能实现这一点,我需要对代码进行哪些修改?

编辑:

为了解决我的问题,我做了以下事情:

在我的电脑上安装带有MSYS的MinGW;

使用MinGW文件夹中的以下代码创建名为startMinGW的批处理文件(.bat):

@echo off
mode con:cols=130 lines=50
path=%path%;%CD%\bin
path=%path%;%CD%\lib
path=%path%;%CD%\msys\1.0\bin
title MinGW Compiler
echo Ready!
cmd.exe /K
Run Code Online (Sandbox Code Playgroud)

执行批处理文件以编译以下内容;

使用MinGW编译freeglut 2.8.0,进入freeglut的根文件夹并执行:

sh configure
make
Run Code Online (Sandbox Code Playgroud)

使用MinGW编译glew 1.9.0,进入freeglut的根文件夹并执行:

make
Run Code Online (Sandbox Code Playgroud)

将本地化在freeglut和glew的include文件夹中的.h文件复制到MinGW的include文件夹中

将本地化在freeglut和glew的lib文件夹中的.a,.dll,.la,.lai(我不知道是否有必要复制.la和.lai文件)复制到MinGW的lib文件夹中

将文件夹C:\ MinGW复制到我的pendrive.

现在要编译OpenGL程序,我只需要从pendrive执行startMinGW并执行

g++ file.cpp -lopeng32 -lglu32 -lglut -lglew
Run Code Online (Sandbox Code Playgroud)

小智 1

glut(或 freeglut)库是跨平台的。为什么不在 Windows 上编译它?使用构建生成器(如 CMake)轻松在每个平台上创建 makefile,然后就完成了。