本人原创,若转载请注明blog.chinaunix.net/uid-29435921-id-4225076.html
微软公司开发的visual c++6.0堪称史上最易用、最成熟的开发工具。vc6以其小巧、轻便赢得了程序员的喜爱,以至于在VS大行其道的时代,很多程序员仍然使用vc6作为开发工具,vc6的欢迎性可见一斑。可惜vc6有一个缺点,那就是不能开发ogre应用程序。网上的教程,链接已经过时。个人也是查找了好多资料,搞了整整一上午才终于配置得差不多,但仍然失败了好几个,不过已经不影响大局了。
ogre是一个极其复杂的工程,它借助了许多的第三方库,比如说boost、stlport。所以编译ogre也是一个相当复杂的过程。尤其是在vc6中,缺少stlport的支持使得我们不得不重新编译stlport库。当然还涉及到了DirectX SDK的问题。
完整清单:
stlport     4.6.2
DirectX SDK 8.0&9.0 
Ogre        0.13
Ogre Depencies 0.13
据此,ogre的编译分三个部分进行。
一、编译stlport
stlport是vc的一个拓展库,在vc7也就是vc.net后才集成到vc里面。也就是说vc6是不支持stlport的,我们得自行让其支持
到stlport官网http://www.stlport.org/下载stlport库,我这里用的是4.6.2版本的。解压缩至某一目录,比如D:\STLport。然后点击开始-》运行,键入cmd,打开命令提示符,切换到$STLPORT_DIR\src目录下,键入"nmake -f vc6.mak",编译stlport。注意:在运行命令之前,确保环境变量里加入了nmake的路径,没加入也没有关系,进入vc安装目录,里面有个vc98-》bin,将bin文件夹下的VCVARS32.bat拖到命令窗口,然后回车就能设置nmake的路径。等待几分钟后,就编译完成了。
二、安装DirectX SDK
一定要安装DirectX X.X SDK(X指版本号),而不是什么DirectX Aug08这些版本。vc6只支持8.0或9.0的版本,并不支持往后的版本。(记得原来编译的时候不知道,下了DirectX Aug08,出了一大堆错误)下载地址参考CSDN上的这篇文章blog.csdn.net/asasj57/article/details/5641161
下载之后的安装就没什么好说的了,直接解压然后进入解压目录,运行setup.exe安装就行了。
三、编译ogre
现在到了最关键的了,到ogre官网下载ogre 0.13和ogre0.13的依赖库。下载之后的ogre解压到某一个文件夹,比如D:\ogreSDK。然后把ogre的依赖项解压,而后将Dependencies和samples两个文件夹复制到ogrenew里面并且覆盖掉同名文件夹。打开ogrenew里面的工程文件,ogre.dsw。
选择tools-》opyions,打开选项对话框,切换到directories选项卡,分别配置include files和library files
include files:
1.C:\DXSDK\INCLUDE                                              \\DirectX 9.0的安装目录
2.D:\OGRESDK\OGRENEW\OGREMAIN\INCLUDE             
3.D:\OGRESDK\OGRENEW\DEPENDENCIES\INCLUDE
4.D:\STLPORT\STLPORT
ps:这几项的先后顺序绝对不能错,否则会出现一些莫名其妙的问题。
library files:
1.C:\DXSDK\LIB                                                           \\DirectX 9.0的安装目录
2.D:\OGRESDK\OGRENEW\OGREMAIN\LIB\DEBUG  
3.D:\OGRESDK\OGRENEW\DEPENDENCIES\LIB   
4.D:\STLPORT\LIB                                                         
同样,这几项也不能改动顺序。
至于说DirectX 8.0要不要安装,我的建议是最好安上,以免出现不必要的错误。安装完毕之后,将其include文件夹和lib文件夹分别加入到vc6的目录中的最后一项就行了。到这里就没有问题了,最后点击build菜单-》Batch build,在出现的对话框中选择build,然后ogre就开始自动编译了。

我的情况是编译之后,有几个工程失败了,提示都是

d:\stlport\stlport\stl\type_traits.h(361) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit

不知道这是不是stlport版本的问题,欢迎知道的朋友与我交流。不过幸亏这几个错误不影响大局,所以我们才得以继续。

经过大约20多分钟的等待,ogre终于编译完成了,我们来验证一下是否真的编译成功。
新建一个win32 console application工程,工程名就是ogre demo。选择一个空的工程,点击完成。
配置我们的工程:选择project-》settings,打开工程选项对话框,切换到link选项卡,在category列表框中选择input,在下面的文本框中输入OgreMain.lib(注意不要带_d,我们编译出来的这个静态链接库是不带_d的)。然后在下面的ignore libraries中输入LIBCD.lib.点击“OK”完成。
其实最好在working directory中输入你的ogre编译后的那些dll、lib的路径,一般是$OGRE_DIR\Samples\Common\Debug,当然如果是Release版本就输入release。这样你就不用在每次生成EXE文件后,将这个文件复制到那个目录下了。(笔者按:这样虽说方便了一些,但通过笔者亲测,这样总是会导致一些莫名其妙的错误)
好了继续我们的测试,新建一个cpp文件,在里面键入如下代码:

#include <ExampleApplication.h>
class test : public ExampleApplication
{
public:void createScene(){mSceneMgr->setAmbientLight(Ogre::ColourValue(1,1,1));Ogre::Entity *ent=mSceneMgr->createEntity("head","robot.mesh");Ogre::SceneNode* headNode = mSceneMgr->getRootSceneNode()->createChildSceneNode();headNode->attachObject(ent);}
};
int main()
{test app;app.go();return 0;
}

如果不出意外的话,就会看到一个机器人显示在屏幕上。

至此,我们的ogre编译就算成功了。

-------------------------------------------------------------------------

写在最后:

原文虽说有几个工程没有编译成功,主要是集中在那几个工具,例如XMLConver、MilkshapeExporler、MeshUpgrader、MatrialUpgrader。但是经过笔者的一番探索,总算是编译成功。具体方法就是这几个工程普遍提示以下的错误,

d:\stlport\stlport\l\type_traits.h(361) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit

解决方法很简单,右击没有编译通过的工程,比如MilkshapeExporler,然后选择settings,打开工程设置对话框,在project options里键入"/Zm500",然后点击"OK"完成设置,最后编译。。。成功!

VC6 Ogre环境配置相关推荐

  1. vc6可编译的 linux 源码,winpcap+vc6编译环境配置,以及获取网络设备列表的源代码...

    winpcap学习手记 (By 风色鸟) winpcap要使用VC6 第一次使用VC6,真的觉得配置很烦,而且觉得不可见.不可控.相比,还是喜欢linux下面的makefile. 尽管如此,还是需要把 ...

  2. linux 编译opencl,OpenCL编译环境配置(VS+Nvidia)

    英伟达的显卡首先要下载安装CUDA开发包,可以参考这里的步骤:   VS2015编译环境下CUDA安装配置 安装好CUDA之后,OpenCL的配置就已经完成了80%了,剩下的工作就是把OpenCL的路 ...

  3. 图解VC++ opengl环境配置和几个入门例子

    VC6下载 http://blog.csdn.net/bcbobo21cn/article/details/44200205 demo工程和glut库下载 http://pan.baidu.com/s ...

  4. DirectShow 在VS2005中环境配置

    网址:http://blog.cnii.com.cn/?75821/viewspace-24418.html 一.DirectShow的环境配置: 本人使用的是VS2005,要使用DirectShow ...

  5. Windows环境配置Apache+Mysql+PHP

    好长时间没有写博客了,最近正在学习php,所以把环境配置与大家分享一下. 软件准备: 准备的软件如下图所示. apache在官方木有找到64位滴,特给出个地址,已测试可正常运行. 其它32 and 6 ...

  6. Windows 下 PHP 开发环境配置系列二(使用 MODx CMS)

    Windows 下 PHP 开发环境配置系列一(PHP+Apache+MySql; Zend Debugger+PDT) 软件的下载地址在系列一中有列出 1. 需安装软件 PHP:   php-5.2 ...

  7. VC++6.0 DDK 环境配置

    我目前用的是VC++6.0含SP6中文版+英文版.VC6SP6.ISO (485 MB) Windows 2003 DDK.iso(230 MB) 其实别的版本DDK也可以的,我们要的是一些结构&am ...

  8. 一步一步开发sniffer(Winpcap+MFC)(一)工欲善其事,必先配环境——配置winpcap开发环境

    0.说在前面的话 1) 本文将以一个初学者的角度,一步一步几乎是从0开始讲述如何完成一个基于winpcap+MFC的sniffer(嗅探器)当然我指的"0"并不是指连编程都不会,如 ...

  9. windows下yacc和lex开发环境配置(Parser Generator篇)

    1.下载安装 Parser Generator是Windows下YACC和LEX的实现,是由英国Bumble-Bee Software公司开发. 下载地址http://www.bumblebeesof ...

最新文章

  1. 3dsMax插件V-Ray建筑可视化三维渲染细节技术学习教程
  2. 【FFmpeg】截至ffmpeg4.2不推荐(Deprecate)继续使用的接口,以及代替它的接口汇总
  3. oracle中 关于触发器,oracle 闪回关于触发器的bug
  4. Ehcache 3.0发布,修补了API并支持非堆存储
  5. [转]EXP-00056: 遇到 ORACLE 错误 31600
  6. Juniper SRX 常用命令
  7. java孙膑和庞涓问题_庞涓与孙膑的故事
  8. highchart 柱状图,列宽自适应(x轴是时间的特殊情况)
  9. python 向MySQL里插入中文数据
  10. 为什么把devc++上的程序发到qq_微信上能登陆QQ了!腾讯QQ小程序使用体验
  11. webshell文件下载器
  12. 任正非发声:把活下来作为最主要纲领;安卓山寨 iOS 启动器下载超 5000 万次;公司停电,程序员去网吧写代码 | EA周报...
  13. matlabWeibull概率图绘制及讲解
  14. 论程序员脱发是传言还是真的?
  15. 哥德巴赫猜想 php,C++_c++验证哥德巴赫猜想,哥德巴赫猜想是世界近代三大 - phpStudy...
  16. 如何实现bat一键重启
  17. 使用腾讯轻量云搭建个人邮箱系统
  18. html弹出div弹窗
  19. 数据库设计优化(来自十年经验架构师的课堂)
  20. HTML标签根据浏览器窗口大小自适应

热门文章

  1. 怎样通过腾讯朋友网找到QQ号?
  2. 联网身份核查的模拟服务端
  3. jquery版小型婚礼(可动态添加祝福语)
  4. hdu 6004 Periodical Cicadas [2016 CCPC-Final F] [同余]
  5. 360使用勋章墙引导用户安装360安全浏览器
  6. PHP程序员适合创业吗?
  7. 深度学习入门之数学基础概念
  8. VulnHub渗透测试实战靶场-HA: FORENSICS
  9. mysql+json+ciud_mysql 5.7 json 字段类型查找、修改
  10. 【linux】循序渐进学运维-基础篇-文件权限管理