配置文件:
freeglut-2.8.1
glew-1.11.0-win32
glutdlls37beta
SB5
文件下载:
链接:http://pan.baidu.com/s/1qYNfDDU 密码:0svs
1、freeglut配置
{
Debug模式和Release模式
Debug为调试版本,包含调试信息,不作任何优化,便于调试程序,运行速度慢。
Release为发布版本,进行了优化,便于用户使用,运行速度快。
在VS2010的工具栏有个文本框,可以选择模式。
}
运行freeglut.sln项目工程,以Debug模式生成解决方案,会在…\OpenGL超级宝典\freeglut-2.8.1\freeglut-2.8.1\lib\x86\Debug目录下生成freeglut.dll和freeglut.lib文件。
将…\OpenGL超级宝典\freeglut-2.8.1\freeglut-2.8.1\include\GL目录下的freeglut.h;freeglut_ext.h;fre_std.h复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL目录下。
将…\OpenGL超级宝典\freeglut-2.8.1\freeglut-2.8.1\lib\x86\Debug目录下的freeglut.dll复制到C:\Windows\SysWOW64目录下。
将…\OpenGL超级宝典\freeglut-2.8.1\freeglut-2.8.1\lib\x86\Debug目录下的freeglut.lib复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib目录下。
2、glew配置
将…\OpenGL超级宝典\glew-1.11.0-win32\glew-1.11.0\include\GL目录下的glew.h,glxew.h,wglew.h复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL目录下。
将…\OpenGL超级宝典\glew-1.11.0-win32\glew-1.11.0\lib\Release\Win32目录下的glew32.lib;glew32s.lib复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib目录下。
将…\OpenGL超级宝典\glew-1.11.0-win32\glew-1.11.0\bin\Release\Win32目录下的glew32.dll复制到C:\Windows\SysWOW64目录下。
3、glut配置
将…\OpenGL超级宝典\glutdlls37beta目录下的glut.h文件复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\GL目录下。
将…\OpenGL超级宝典\glutdlls37beta目录下的glut.lib;glut32.lib文件复制到D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib目录下。
将…\OpenGL超级宝典\glutdlls37beta目录下的glut.dll;glut32.dll文件复制到C:\Windows\SysWOW64目录下。
4、构建GLTools库
新建一个gltools的win32项目工程,选择控制台应用程序,空项目。
将…\OpenGL超级宝典\SB5\Src\GLTools\include目录下的.h文件复制到D:\OpenGL\gtools\gltools目录下。
将…\OpenGL超级宝典\SB5\Src\GLTools\src目录下的.cpp文件复制到D:\OpenGL\gtools\gltools目录下。
项目工程中添加头文件和源文件,在stdafx.h文件中添加项目中头文件名。
{
在每个.cpp文件的最前面加#include “stdafx.h”。
出现问题:
如果出现c:\project\gltools\gltools\math3d.cpp(45): fatal error C1083: 无法打开包括文件:“math3d.h”: No such file or directory等头文件找不到的情况就需要在VS2010的安装地址处VC/include文件夹里面也加上了math3d.h等头文件加上就可以运行了。
1>LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library
解决方法:忽略LIBCMT.lib库,项目->属性->配置属性->连接器->输入->忽略特定库->添加LIBCMT.lib
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
解决方法:
stdafx.h
取消预编译头的方法:项目名处右键->属性->配置属性->C/C++->预编译头->不适用预编译头
windows程序,WinMain为入口函数,在VS2010中新建项目为“win32项目”,dos控制台程序,main是入口函数,在VS2010中新建项目为“win32控制台应用程序”
如果你需要的是windows程序:
1.菜单中选择 Project->Properties, 弹出Property Pages窗口
2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_CONSOLE, 添加_WINDOWS.
3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为Windows(/SUBSYSTEM:WINDOWS)
如果你需要的是控制台程序:
1.菜单中选择 Project->Properties, 弹出Property Pages窗口
2.在左边栏中依次选择:Configuration Properties->C/C++->Preprocessor,然后在右边栏的Preprocessor Definitions对应的项中删除_WINDOWS, 添加_CONSOLE.
3.在左边栏中依次选择:Configuration Properties->Linker->System,然后在右边栏的SubSystem对应的项改为CONSOLE(/SUBSYSTEM:CONSOLE)
为什么改了之后还是这样的问题:
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: 无法解析的外部符号 _main,该符号在函数 ___tmainCRTStartup 中被引用
要么就是这个:
1>MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用
TT
}
参考文献:
http://blog.youkuaiyun.com/so_geili/article/details/51685005