0022VS2008(SP1)下配置ogre1.6.5的教程

15 篇文章 0 订阅
3 篇文章 0 订阅

  本教程适用于ogre初学者以及基于打补丁的VS2008项目者。

必备条件:

vs2008(SP1)OgreSDK1.6.5  DirectX正确安装

步骤1、设置环境变量





注意事项:

1Ogre务必安装在英文目录下!不然无法运行(以格式D:\OgreSDK为参考)。

2)添加了新的环境变量,重启计算机才能生效。

步骤2、在vs2008中新建一个Win32 空项目并设置其属性

 1)工具->选项->项目和解决方案->VC++目录

 显示以下内容的目录->包含文件

       添加:   D:\OgreSDK\samples\include      

                     D:\OgreSDK\include

                     D:\DirectX\include

  显示以下内容的目录->库文件

       添加:D:\OgreSDK\lib

配图:


2)项目->**属性->配置属性->链接器->输入(**表示你建立的工程名称)

附加依赖项:     OgreMain_d.lib

                           OIS_d.lib

                           CEGUIBase_d.lib

                          OgreGUIRenderer_d.lib   (_d表示debug 版本的)


或者点开它直接添加


3)项目->属性->配置属性->调试->工作目录

工作目录:D:\OgreSDK\bin\debug


  完成上述步骤,你就可以开始你的Ogre旅程了,在你刚新建的工程里添加一个cpp文件,将下列代码拷贝其中,编译并运行,若看到一个黑乎乎的背景中有一个忍者,说明成功完成配置。

  测试配置成功与否的程序:

#include "ExampleApplication.h"
class TutorialApplication : public ExampleApplication
{
private:
	Ogre::SceneNode* _SinbadNode;

protected:
	 void createScene(void)
	{	
		//adding an entity named "Ninya" from demo
		Ogre::SceneNode* node=mSceneMgr->createSceneNode("node1");
		mSceneMgr->getRootSceneNode()->addChild(node);
		Ogre::Entity* Sinbad=mSceneMgr->createEntity("Ninja","ninja.mesh");
		_SinbadNode=node->createChildSceneNode("NinjaNode");
		_SinbadNode->setPosition(Ogre::Vector3(0,0,0));
		_SinbadNode->attachObject(Sinbad);
		_SinbadNode->yaw(Degree(180));	
	}
public:
	TutorialApplication(){}
	~TutorialApplication(){}
};

#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
#define WIN32_LEAN_AND_MEAN
#include "windows.h"
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine,
INT )
#else
int main(int argc, char **argv)
#endif
{
// Create application object
TutorialApplication app;
try {
app.go();
} catch( Exception& e ) {
#if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | 

MB_ICONERROR | MB_TASKMODAL);
#else
fprintf(stderr, "An exception has occured: %s\n",
e.getFullDescription().c_str());
#endif
}return 0;

}


可能遇见的问题:

1.error C2664: “MessageBoxW”: 不能将参数 2 从“const char *”转换为“LPCWSTR”

解决:项目菜单->属性->配置属性->常规->字符集->unicode改为未设置


2.error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用




  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值