当前位置:  开发笔记 > 开发工具 > 正文

将GLUT与Visual C++ Express Edition一起使用

如何解决《将GLUT与VisualC++ExpressEdition一起使用》经验,为你挑选了2个好方法。

在Visual C++ Express Edition下使用GLUT(OpenGL Utility Toolkit)编译OpenGL应用程序的基本步骤是什么?



1> Ashwin Nanja..:

    如果您没有Visual C++ Express Edition(VCEE),请下载并安装VCEE.

    Visual C++ Express Edition的默认安装是为.Net平台构建的.我们需要为Windows平台构建,因为OpenGL和GLUT尚未完全支持.Net.为此,我们需要Microsoft Platform SDK.(如果您使用的是旧版本的VCEE,请下载并安装Microsoft Platform SDK.需要将Visual C++ Express Edition配置为针对Windows平台构建.所有这些说明均可在此处获得.)

    如果您没有GLUT,请下载并解压缩Nate Robin的GLUT Windows端口.

    glut.h添加到您的Platform SDK/include/GL /目录中

    将项目与glut.lib链接.(转到VCEE 项目属性 - >其他链接器目录并添加具有glut.lib的目录.

    glut.dll添加到Windows/System32目录,以便所有使用GLUT的程序都可以在运行时找到它.

您使用GLUT或OpenGL的程序现在应该在Visual C++ Express Edition下编译.



2> Baxissimo..:

Nate Robin网站上的GLUT端口是从2001年开始的,与Visual Studio的版本(.NET 2003及更高版本)有一些不兼容的地方.不相容性表现为重新定义的错误exit().如果您看到此错误,则有两种可能的解决方案:

    更换exit()原型glut.h与一个在你stdlib.h让它们匹配.这可能是最好的解决方案.

    一个更简单的解决方案是在你的程序#define GLUT_DISABLE_ATEXIT_HACK之前#include .

(应有的信誉:我最初在TAMU服务台网站上看到了这个建议.)

自.NET 2003问世以来,我一直在使用方法#1,并且使用了glut.h与VC++ 2003,VC++ 2005和VC++ 2008 相同的修改方法.

这里是glut.h的差异,我使用的是#1(但在适当的#ifdef blocks情况下它仍适用于旧版本的Visual Studio):

--- c:\naterobbins\glut.h       2000-12-13 00:22:52.000000000 +0900
+++ c:\updated\glut.h    2006-05-23 11:06:10.000000000 +0900
@@ -143,7 +143,12 @@

 #if defined(_WIN32)
 # ifndef GLUT_BUILDING_LIB
-extern _CRTIMP void __cdecl exit(int);
+/* extern _CRTIMP void __cdecl exit(int);  /* Changed for .NET */
+#  if _MSC_VER >= 1200
+extern _CRTIMP __declspec(noreturn) void __cdecl exit(int);
+#  else
+extern _CRTIMP void __cdecl exit(int);
+#  endif
 # endif
 #else
 /* non-Win32 case. */

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有