我在VS2008发布的一个小游戏在其它电脑闪一下就消失了

fu15229018 2011-11-19 09:02:46
我在VS2008发布的一个小游戏在本机可以玩,但在其它电脑执行后闪一下就消失了,不知道是什么原因?

然后我在网上下了一个其它人用C++写的小游戏,VS2008发布后,可以在其它电脑上玩。

开始我以为是项目配置有问题,我就照着把我的项目和网上的这个小游戏项目配置设置完全一致,结果还是不行。
看CSDN里有人说是msvcr*.dll库也要复制过去,结果复制过去,也是不行。

不知道该怎么办了?请高人指点一下。
...全文
240 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
fu15229018 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zaffix 的回复:]
打印一些log跟踪,看在哪退出的。
[/Quote]

我试了,就是没有初始试成功,就退出了。
但我不知道为什么会没有初始化成功,我又没做什么事。
fu15229018 2011-11-19
  • 打赏
  • 举报
回复
Main.h:

#include "hge.h"
HGE *pHge;


Main.cpp:

#include "windows.h"
#include "Main.h"

bool RenderFunc()
{
return false;
}

bool FrameFunc()
{
return false;
}

int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
MessageBox(NULL,"start","提示",MB_OK | MB_ICONWARNING);
pHge = hgeCreate(HGE_VERSION);
pHge->System_SetState(HGE_TITLE, "猜拳 demo 1.0beta");
pHge->System_SetState(HGE_SCREENWIDTH, 640);
pHge->System_SetState(HGE_SCREENHEIGHT, 480);
pHge->System_SetState(HGE_RENDERFUNC, RenderFunc);
pHge->System_SetState(HGE_FRAMEFUNC, FrameFunc);
pHge->System_SetState(HGE_WINDOWED, true);
pHge->System_SetState(HGE_USESOUND, true);//是否使用HEFFECT特效
pHge->System_SetState(HGE_HIDEMOUSE, true);
pHge->System_SetState(HGE_SHOWSPLASH, false);//是否LOGO
pHge->System_SetState(HGE_ZBUFFER, true);

if (pHge->System_Initiate())
{
MessageBox(NULL,"成功","提示",MB_OK | MB_ICONWARNING);
pHge->System_Start();
}
pHge->System_Shutdown();
pHge->Release();
pHge = NULL;
return 0;
}


这是我的源码,我有点纳闷,这么简单的一个程序,在本机可以,在其它电脑就一闪就没了。
对象 2011-11-19
  • 打赏
  • 举报
回复
有可能是程序subsystem设置问题。
xunxun 2011-11-19
  • 打赏
  • 举报
回复
2008不能光复制库,还得manifest……

所以你还是静态链接/MT重编译吧
zaffix 2011-11-19
  • 打赏
  • 举报
回复
打印一些log跟踪,看在哪退出的。
osyxz2011 2011-11-19
  • 打赏
  • 举报
回复
最好直接在那台机器上装vc2008运行库
fu15229018 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 kevin_perkins 的回复:]
是控制台的小游戏还是基于窗口的?
控制台游戏要在命令提示符窗口中玩。
基于窗口的游戏,如果一闪而过,也许是因为程序的异常,走了错误处理而退出了。
[/Quote]
非常感谢你的回答。
我做的是win32 project中的windows应用。

关于你说的一闪而过,可能是程序的异常,我也想过,但是不管debug版还是release版在本机可以。
在其它机子不行。
还请你再给点明示。
Kevin_Perkins 2011-11-19
  • 打赏
  • 举报
回复
是控制台的小游戏还是基于窗口的?
控制台游戏要在命令提示符窗口中玩。
基于窗口的游戏,如果一闪而过,也许是因为程序的异常,走了错误处理而退出了。
fu15229018 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 chenandczh 的回复:]
有没有用到.NET库
[/Quote]

程序就是7楼那点,你觉得会有什么地方要用到.NET库?
绿领巾童鞋 2011-11-19
  • 打赏
  • 举报
回复
有没有用到.NET库
fu15229018 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 qyee16 的回复:]
在其他电脑上安装vs2008重开发包,试试
[/Quote]

试过了。
我把他打包后,发到另一台电脑上安装,结果是一样的,闪一下就没了。
fu15229018 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 lactoferrin 的回复:]
pHge->System_Initiate()
这个执行失败?
[/Quote]

是的。
Qyee16 2011-11-19
  • 打赏
  • 举报
回复
在其他电脑上安装vs2008重开发包,试试
Z912270173 2011-11-19
  • 打赏
  • 举报
回复
pause
qq120848369 2011-11-19
  • 打赏
  • 举报
回复
这就是客户端程序的悲哀.
Lactoferrin 2011-11-19
  • 打赏
  • 举报
回复
pHge->System_Initiate()
这个执行失败?

65,206

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧