DirectX写的程序如何在别人电脑上运行?

DeDeWo 2013-04-06 03:27:31
程序是基于 win32 + direct9.0 的。
我自己环境是 xp + vs2010 .
别人的环境是 win7 , win8.

我已经把程序中用到的所有dll、lib文件都复制到.exe目录下一起拷贝别人电脑还是不行,出现的错误 是 应用程序无法正常启动(0x0000142)。
后面我在别人电脑(win8)上面安装了DirectX9.0 SDK就可以运行了,,,,,
如何在不安装 Direct9.0 SDK 的前提下正常运行程序呢?
在google上面找了半天都没找到可行的方法,特来求教。
...全文
520 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
ainichenwei 2013-09-10
  • 打赏
  • 举报
回复
我已经解决了,我的是因为加载的DirectX SDK的版本不一致所导致的!我之前加载的是2006年8月版本的,将其更改为2010年6月版本的就好了!你也可以试下!希望对你有帮助!呵呵~
DeDeWo 2013-08-17
  • 打赏
  • 举报
回复
引用 11 楼 ainichenwei 的回复:
那这个问题到底有没有解决,我也碰到了相似的问题,拷贝了所有的dll过去也没用,只有安装Direct才有用!到底该怎么解啊?
一直没解决,蛋碎了吧,哈哈
ainichenwei 2013-08-13
  • 打赏
  • 举报
回复
那这个问题到底有没有解决,我也碰到了相似的问题,拷贝了所有的dll过去也没用,只有安装Direct才有用!到底该怎么解啊?
DeDeWo 2013-06-17
  • 打赏
  • 举报
回复
感谢各位的热情回答。。不知不觉过了两个多月,。现在已经签了tx的实习offer,不过是客户端的,看来要告别directx一段时间了。。 买了很多directx的书一直没看过,哎
zhao1zhong6 2013-06-16
  • 打赏
  • 举报
回复
估计你给的是调试版吧?
寻开心 2013-04-08
  • 打赏
  • 举报
回复
这是dx9的动态链接库的问题 因该把 d3dx9_XX.dll copy到你的发布包里面和执行程序放到一起 这个dll在你的windows目录下 XX是根据你的sdk版本决定的, 不确定的话无妨多copy几个过去, :)
彩阳 2013-04-08
  • 打赏
  • 举报
回复
应该是DX版本不一致引起的错误。这类错误一般微软可能都不知道,它需要从用户的错误报告中获取信息。因为DX版本 + Windows操作系统 + 图形卡这样的组合非常多,有时老版本的DX和新版本的DX接口都不一致,更不用提内存管理的实现了。
寻开心 2013-04-08
  • 打赏
  • 举报
回复
如果仅仅是dx版本的问题,copy对应的dll到应用安装目录是可以解决问题的 怀疑还有其他的问题 建议你用远程调试技术吧 这样可以追踪到具体的问题所在
DeDeWo 2013-04-08
  • 打赏
  • 举报
回复
引用 5 楼 happy__888 的回复:
这是dx9的动态链接库的问题 因该把 d3dx9_XX.dll copy到你的发布包里面和执行程序放到一起 这个dll在你的windows目录下 XX是根据你的sdk版本决定的, 不确定的话无妨多copy几个过去, :)
一直都是这么做的,所有的dll都拷过去试过,但就是不能运行,蛋都碎了
DeDeWo 2013-04-07
  • 打赏
  • 举报
回复
引用 1 楼 zjl1234567 的回复:
直接拷贝过去应该不行,一些东西需要注册。 win7是自带dx11的,应该是兼容dx9的。 在目标机器上装directx9 的runtime行不行? 在目标机器上装vc的运行环境行不行?
试过在别人电脑(win7/win8)上装了VS2010,也装了direct9的runtime,但也不能运行,开始提示缺少某些dll文件,后面把dll文件拷过去后就提示 应用程序无法正常启动(0x0000142),后面装了 DirectX9 SDK 就可以了。。
zjl1234567 2013-04-07
  • 打赏
  • 举报
回复
直接拷贝过去应该不行,一些东西需要注册。 win7是自带dx11的,应该是兼容dx9的。 在目标机器上装directx9 的runtime行不行? 在目标机器上装vc的运行环境行不行?
DeDeWo 2013-04-07
  • 打赏
  • 举报
回复
引用 3 楼 lixin_4055 的回复:
tasklist /m /fi "imagename eq 应用程序名"来查看调用的DLL文件 然后把相关的dx独有的dll复制到执行目录下打包发过去就行了
我把所有它调用的所有dll都复制到执行目录了,一样不能运行,提示的错误是 应用程序无法正常启动(0x0000142)
lixin_4055 2013-04-07
  • 打赏
  • 举报
回复
tasklist /m /fi "imagename eq 应用程序名"来查看调用的DLL文件 然后把相关的dx独有的dll复制到执行目录下打包发过去就行了

8,325

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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