游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2634|回复: 2

ogre运行

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2011-12-8 23:37:00 | 显示全部楼层 |阅读模式
求大虾指教,为什么我按照网上的环境配置方法能把ogreSDK中的样例跑出来,自己编的程序却显示:
error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall Ogre::Root::startRendering(void)" (__imp_?startRendering@Root@Ogre@@QAEXXZ),该符号在函数 "public: virtual void __thiscall ExampleApplication::go(void)" (?go@ExampleApplication@@UAEXXZ) 中被引用
1>aaaa.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static void __cdecl Ogre::AllocatedObject<class Ogre::CategorisedAllocPolicy<0> >:perator delete(void *,char const *,int,char const *)" (__imp_??3?$AllocatedObject@V?$CategorisedAllocPolicy@$0A@@Ogre@@@Ogre@@SAXPAXPBDH1@Z),该符号在函数 __unwindfunclet$?setup@ExampleApplication@@MAE_NXZ$0 中被引用
1>aaaa.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class Ogre::TextureManager & __cdecl Ogre::TextureManager::getSingleton(void)" (__imp_?getSingleton@TextureManager@Ogre@@SAAAV12@XZ),该符号在函数 "protected: virtual bool __thiscall ExampleApplication::setup(void)" (?setup@ExampleApplication@@MAE_NXZ) 中被引用
1>aaaa.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall Ogre::Root::Root(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_??0Root@Ogre@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@00@Z),该符号在函数 "protected: virtual bool __thiscall ExampleApplication::setup(void)" (?setup@ExampleApplication@@MAE_NXZ) 中被引用
1>aaaa.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class OIS::Object * __thiscall OIS::InputManager::createInputObject(enum OIS::Type,bool,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (__imp_?createInputObject@InputManager@OIS@@QAEPAVObject@2@W4Type@2@_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z),该符号在函数 "public: __thiscall ExampleFrameListener::ExampleFrameListener(class Ogre::RenderWindow *,class Ogre::Camera *,bool,bool,bool)" (??0ExampleFrameListener@@QAE@PAVRenderWindow@Ogre@@PAVCamera@2@_N22@Z) 中被引用
1>aaaa.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class OIS::InputManager * __cdecl OIS::InputManager::createInputSystem(class std::multimap<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >,struct std::less<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > >,class std::allocator<struct std::pair<class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const ,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > > > > &)" (__imp_?createInputSystem@InputManager@OIS@@SAPAV12@AAV?$multimap@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@U?$less@V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@2@V?$allocator@U?$pair@$$CBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@V12@@std@@@2@@std@@@Z),该符号在函数 "public: __thiscall ExampleFrameListener::ExampleFrameListener(class Ogre::RenderWindow *,class Ogre::Camera *,bool,bool,bool)" (??0ExampleFrameListener@@QAE@PAVRenderWindow@Ogre@@PAVCamera@2@_N22@Z) 中被引用
1>D:\ogre workplace\ogre_test2\afjafajldfakdfj\Debug\afjafajldfakdfj.exe : fatal error LNK1120: 70 个无法解析的外部命令
1>生成日志保存在“file://d:\ogre workplace\ogre_test2\afjafajldfakdfj\afjafajldfakdfj\Debug\BuildLog.htm”
1>afjafajldfakdfj - 71 个错误,5 个警告
========== 全部重新生成: 成功 0 个,失败 1 个,跳过 0 个 ==========
这是什么情况,求帮助。。。。。。

0

主题

6

帖子

35

积分

注册会员

Rank: 2

积分
35
发表于 2011-12-12 14:07:00 | 显示全部楼层

Re:ogre运行

链接问题,和运行无关,确保相关lib路径和文件都配置好了先。

0

主题

27

帖子

69

积分

注册会员

Rank: 2

积分
69
发表于 2011-12-13 16:50:00 | 显示全部楼层

Re:ogre运行

1、设置OGRE_HOME,建立win32空工程,下载给的指南里框架程序(4个文件),加入到现有工程。
-------------------------以下是针对 所有配置-----------------------------------------
2、打开项目属性,第一行配置里选择 所有配置 ;在配置属性---常规里, 字符集选择 多字节 ;
3、在配置属性---c/c++---常规里,选择附加包含目录 更改为$(OGRE_HOME)\include\OIS;$(OGRE_HOME)\include\OGRE;$(OGRE_HOME)\Samples\Common\include;$(OGRE_HOME)\boost_1_42
-------------------------以下是配置Debug---------------------------------------------
4、在配置属性--调试里 选择命令行 更改为$(OGRE_HOME)\Bin\debug\$(ProjectName)_d.exe 选择工作目录 更改为$(OGRE_HOME)\Bin\debug
5、在配置属性---连接器---常规里 选择附加库目录 更改为$(OGRE_HOME)\lib\debug; $(OGRE_HOME)\boost_1_42\lib 输出文件更改为:$(OutDir)\$(ProjectName)_d.exe
6、在配置属性---生成事件---后期生成事件里 选择命令行 更改为copy "$(OutDir)\$(TargetFileName)" "$(OGRE_HOME)\Bin\debug"
7、更改配置为 debug ,在配置属性---连接器---输入里 选择附加依赖项 添加OgreMain_d.lib;OIS_d.lib; 最后样子为OgreMain_d.lib;OIS_d.lib;
-------------------------以下是配置Release-------------------------------------------
8、在配置属性--调试里 选择命令行 更改为$(OGRE_HOME)\Bin\release\$(ProjectName).exe选择工作目录 更改为$(OGRE_HOME)\Bin\release
9、在配置属性---连接器---常规里 选择附加库目录 更改为$(OGRE_HOME)\lib\release; $(OGRE_HOME)\boost_1_42\lib
10、在配置属性---生成事件---后期生成事件里 选择命令行 更改为copy "$(OutDir)\$(TargetFileName)" "$(OGRE_HOME)\Bin\release"
11、更改配置为 release ,在配置属性---连接器---输入里 选择附加依赖项 添加OgreMain.lib;OIS.lib; 最后样子为OgreMain.lib;OIS.lib;
////////////////////////////////另外一种使用Ogre的方法//////////////////////////////
1、将Ogre SDK根目录下面bin文件夹里的debug和release文件夹拷贝到程序文件的根目录下
2、修改resources_d.cfg(debug下)和resources.cfg(release下)文件,将“..\\..”相对目录更改为资源文件所在的绝对目录,即Ogre SDK的根目录下的media文件夹路径
3、打开项目属性,第一行配置里选择 所有配置 ;在配置属性---常规里, 字符集选择 多字节
4、在所有配置  配置属性---c/c++---常规里,选择附加包含目录 更改为$(OGRE_HOME)\include\OIS;$(OGRE_HOME)\include\OGRE;$(OGRE_HOME)\Samples\Common\include;$(OGRE_HOME)\boost_1_42
-------------------------以下是配置Debug---------------------------------------------
5、在配置属性---连接器---常规里 选择附加库目录 更改为$(OGRE_HOME)\lib\debug; $(OGRE_HOME)\boost_1_42\lib
6、更改配置为 debug ,在配置属性---连接器---输入里 选择附加依赖项 添加OgreMain_d.lib;OIS_d.lib; 最后样子为OgreMain_d.lib;OIS_d.lib;
-------------------------以下是配置Release-------------------------------------------
7、在配置属性---连接器---常规里 选择附加库目录 更改为$(OGRE_HOME)\lib\release; $(OGRE_HOME)\boost_1_42\lib
8、更改配置为 release ,在配置属性---连接器---输入里 选择附加依赖项 添加OgreMain.lib;OIS.lib; 最后样子为OgreMain.lib;OIS.lib;
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 05:08

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表