DirectX写的程序如何在别人电脑上运行?
程序是基于 win32 + direct9.0 的。
我自己环境是 xp + vs2010 .
别人的环境是 win7 , win8.
我已经把程序中用到的所有dll、lib文件都复制到.exe目录下一起拷贝别人电脑还是不行,出现的错误 是 应用程序无法正常启动(0x0000142)。
后面我在别人电脑(win8)上面安装了DirectX9.0 SDK就可以运行了,,,,,
如何在不安装 Direct9.0 SDK 的前提下正常运行程序呢?
在google上面找了半天都没找到可行的方法,特来求教。
[解决办法]
直接拷贝过去应该不行,一些东西需要注册。
win7是自带dx11的,应该是兼容dx9的。
在目标机器上装directx9 的runtime行不行?
在目标机器上装vc的运行环境行不行?
[解决办法]
tasklist /m /fi "imagename eq 应用程序名"来查看调用的DLL文件
然后把相关的dx独有的dll复制到执行目录下打包发过去就行了
[解决办法]
这是dx9的动态链接库的问题
因该把 d3dx9_XX.dll copy到你的发布包里面和执行程序放到一起
这个dll在你的windows目录下
XX是根据你的sdk版本决定的, 不确定的话无妨多copy几个过去, :)
[解决办法]
如果仅仅是dx版本的问题,copy对应的dll到应用安装目录是可以解决问题的
怀疑还有其他的问题
建议你用远程调试技术吧 这样可以追踪到具体的问题所在
[解决办法]
应该是DX版本不一致引起的错误。这类错误一般微软可能都不知道,它需要从用户的错误报告中获取信息。因为DX版本 + Windows操作系统 + 图形卡这样的组合非常多,有时老版本的DX和新版本的DX接口都不一致,更不用提内存管理的实现了。
[解决办法]
估计你给的是调试版吧?