5

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

我的问题是大学里的电脑没有安装我学习程序所需的库,而且我在这些电脑上只有用户权限,所以我无法安装任何需要管理员权限的东西。

通常我是在 linux 环境下开发的,但是实验室的电脑都是运行 Windows XP 或 Windows 7 的。我使用 g++ 编译我的程序、freeglut 和 opengl 库。例如,我还使用 OpenGL 扩展能够使用顶点数组对象,以及更新版本的 OpenGL 的其他功能。

我在想这是否是一种将我需要的所有东西放在我的随身碟中并在我去的每台计算机上执行它的方法,而无需安装任何东西。也许像把所有带有 cygwin 的库和一个 notepad++ 可移植到 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

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

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

sh configure
make

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

make

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

将freeglut和glew的lib文件夹中本地化的.a、.dll、.la、.lai(不知道是否需要拷贝.la和.lai文件)文件复制到MinGW的lib文件夹中

将文件夹 C:\MinGW 复制到我的随身碟。

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

g++ file.cpp -lopeng32 -lglu32 -lglut -lglew
4

2 回答 2

1

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

于 2013-01-01T20:18:13.107 回答
0

Qt OpenGL API可能最适合您的情况。

于 2013-01-02T08:26:09.883 回答