游戏开发论坛

 找回密码
 立即注册
搜索
查看: 5774|回复: 10

->[SOS]~我的第一个练习失败了,好伤心..请大家帮帮我

[复制链接]

4

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2007-5-2 04:42:00 | 显示全部楼层 |阅读模式
我的第一个练习失败了,根据<燕尘.一起学Ogre>教程我做了第一个联系,可是当我编译完成后发现失败了,请各位过来人帮帮忙看看是哪出问题了十分感谢!



------ 已启动全部重新生成: 项目: SkyPlane_01, 配置: Debug Win32 ------

正在删除项目“SkyPlane_01”(配置“Debug|Win32”)的中间文件和输出文件。
正在编译...
SkyPlane.cpp
正在链接...
SkyPlane.obj : error LNK2019: 无法解析的外部符号 __imp__MessageBoxA@16 ,该符号在函数 __catch$_WinMain@16$0 中被引用
E:\Desktop\Learning\OGRE\Samples\Common\bin\Debug/SkyPlane_01.exe : fatal error LNK1120: 1 个无法解析的外部命令

生成日志保存在“file://e:\Desktop\Learning\Ogre\Samples\SkyPlane_01\Debug\BuildLog.htm”中
SkyPlane_01 - 2 错误,0 警告


---------------------- 完成 ---------------------

    全部重新生成: 0 已成功, 1 已失败, 0 已跳过

[em4] [em4] [em17]

193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
发表于 2007-5-2 08:57:00 | 显示全部楼层

Re:->[SOS]~我的第一个练习失败了,好伤心..请大家帮帮我

__imp__MessageBoxA@16 应该是windows Api sdk里面的东东,估计是项目属性设置里面有一些问题,你可以先拿demo中的例子来改。然后再学着自己配制。

4

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2007-5-2 21:14:00 | 显示全部楼层

Re: ->[SOS]~我的第一个练习失败了,好伤心..请大家帮帮我

我又换了个教程,可是我用的是 VS.NET 2003中文版本的 下面那段操作 摸不到头脑了.请前辈指点下,拜托了,谢谢

OGRE初学者引导

3 Visual Studio.NET (VC7

* 在C++/Code Generation模式下,选择"Runtime Library" to "Multi-threaded Debug DLL" (for debug-mode apps) 和 "Multi-threaded DLL" (For release-mode apps).

71

主题

1330

帖子

2585

积分

金牌会员

Rank: 6Rank: 6

积分
2585
发表于 2007-5-2 23:55:00 | 显示全部楼层

Re:->[SOS]~我的第一个练习失败了,好伤心..请大家帮帮我

看样子应该是系统宏替换造成的问题
试试把下面的语句加到前面#include语句下面

define MessageBox MessageBox

4

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2007-5-3 04:58:00 | 显示全部楼层

Re: ->[SOS]~我的第一个练习失败了,好伤心..请大家帮帮我

谢谢,打工仔和yahle  两位老师指点,  让我又有了 继续前进的力量, 为了真正的理解错误发生的原因,我有重新开始编译Ogre发现有很多下面的这样的警告.


OgreTimer.cpp
OgreTextureUnitState.cpp
OgreTextureManager.cpp
OgreTexture.cpp
\ogre-win32-v1-4-0\ogrenew\OgreMain\src\OgreTexture.cpp(260) : warning C4267: “参数” : 从“size_t”转换到“unsigned int”,可能丢失数据
\ogre-win32-v1-4-0\ogrenew\OgreMain\src\OgreTexture.cpp(262) : warning C4267: “参数” : 从“size_t”转换到“unsigned int”,可能丢失数据
\ogre-win32-v1-4-0\ogrenew\OgreMain\src\OgreTexture.cpp(262) : warning C4267: “参数” : 从“size_t”转换到“unsigned int”,可能丢失数据
\ogre-win32-v1-4-0\ogrenew\OgreMain\src\OgreTexture.cpp(262) : warning C4267: “参数” : 从“size_t”转换到“unsigned int”,可能丢失数据
\ogre-win32-v1-4-0\ogrenew\OgreMain\src\OgreTexture.cpp(265) : warning C4267: “参数” : 从“size_t”转换到“unsigned int”,可能丢失数据
\ogre-win32-v1-4-0\ogrenew\OgreMain\src\OgreTexture.cpp(286) : warning C4267: “参数” : 从“size_t”转换到“unsigned int”,可能丢失数据
\ogre-win32-v1-4-0\ogrenew\OgreMain\src\OgreTexture.cpp(286) : warning C4267: “参数” : 从“size_t”转换到“unsigned int”,可能丢失数据
\ogre-win32-v1-4-0\ogrenew\OgreMain\src\OgreTexture.cpp(286) : warning C4267: “参数” : 从“size_t”转换到“unsigned int”,可能丢失数据
OgreTextAreaOverlayElement.cpp

仔细分析后总结出以下结果,请老师门指点迷津.
1,错误警告都是发生在OgreMain目录下的 ,而且都是"警告C4267"
2.不是每个OgreMain下的cpp文件都出现警告 都是在参数转换过程发生的
3.在包含文件和库文件中我已经添加了Dependencies ,SDK的也加进去了(不知道是否可以排除是这个造成的)
4.Dependencies整个目录也复制进ogrenew了

希望各位老师,师傅,高手门帮忙看下是什么原因造成的,怎么排除这个问题,谢谢!



193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
发表于 2007-5-3 17:14:00 | 显示全部楼层

Re: Re: ->[SOS]~我的第一个练习失败了,好伤心..请大家

梦龙: Re: ->[SOS]~我的第一个练习失败了,好伤心..请大家帮帮我吧,谢谢!

谢谢,打工仔和yahle  两位老师指点,  让我又有了 继续前进的力量, 为了真正的理解错误发生的原因,我有重新开...

这些警告都是正常的,Ogre本身并没有要求0警告编译,是因为没有显示转换类型引起的。

不过,学习Ogre的第一步骤是,把Demo编译通过。然后从Demo入手开始学习Ogre的具体内容。配置Ogre编译使用环境对于一个初学者来说是一件很麻烦的事情,而Demo的例子都已经给我们配置好了,可以让我们逃过这一步骤直接看到运行结果。如果Demo编译无法通过,那么再来文具体问题好了。

当你有工程无法编译通过时候,最直观的解决办法就是查找和Demo所带的工程的区别。

另外,对于绝大多数人都不需要从源代码开始编译。
如果你真的有需要修改Ogre源代码,或者察看源代码,最好先搞懂SDK的使用方法。

4

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2007-5-3 22:19:00 | 显示全部楼层

Re: ->[SOS]~我的第一个练习失败了,好伤心..请大家帮

太感谢 打工仔老师了,我今天终于可以运行Demo文件了,第一次进入Ogre的世界,感到好激动啊,。。。经过一番欣赏后,开始进入学习话题

我现在有几个问题不明白,想请老师们帮忙解答,谢谢

首先为什么我的demo文件是在\...Common\bin\Release文件下呢,为什么不是在debug文件下呢(以前是在debug下的)而且我的demo打开后是全屏的,怎么才能让其在窗口中呢?

然后就有的Demo打不开呢,比如说Demo_BSP 提示错误 "Ogremain\scr\OgreZIP.ccp"

最后的是想问下是不是该进入修改学习环节了,那么我应该从哪个demo修改比较好呢(我想从基础的窗口开始,然后一步步往里面修改加些小物体,可是好象没找到基础的,都有点复杂)
         如何修改Demo呢?(我是说在一个Demo中有源文件.CCP和头文件.H,为了不出错,我还是来问下,头文件要不要动?是不是只在source中修改?)






193

主题

870

帖子

903

积分

高级会员

Rank: 4

积分
903
QQ
发表于 2007-5-4 10:38:00 | 显示全部楼层

Re:->[SOS]~我的第一个练习失败了,好伤心..请大家帮帮我

1、别叫我老师,我还不算太老。
2、你在编译其中选择debug(调试)模式就生成debug版本,不过一般来说release(发行)版本才是最终的结果
3、demo运行时候有配置窗口把fullscreen选择为no
4、如果使用源代码的话,Ogre是不提供BSP地图的(因为BSP地图属于Quake3组织),所以需要自己去搞,下载一个SDK就能找到了。
5、有一个EnvMapping的Demo比较简单。
6、createScene方法里面是建立场景的步骤,可以修改看看结果。(Demo写的不是很规范,有的需要改头文件)

4

主题

11

帖子

11

积分

新手上路

Rank: 1

积分
11
 楼主| 发表于 2007-5-7 04:50:00 | 显示全部楼层

Re: ->[SOS]~我的第一个练习失败了,好伤心..请大家帮帮我

非常感谢 打工仔的指教,继续研究中。。。。。

0

主题

10

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2007-8-31 23:24:00 | 显示全部楼层

Re:->[SOS]~我的第一个练习失败了,好伤心..请大家帮帮我

更新corewin_express.vsprops文件
还要使Win32模板能够在Visual C++ Express中使用。您需要编辑corewin_express.vsprops文件(可以在C:\ Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults找到)并将字符串

AdditionalDependencies="kernel32.lib"
修改为

AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"

轻松搞定!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-25 02:48

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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