使用VirtualBox调试项目踩过的坑
当我们完成项目后
通常需要做其他系统的测试
例如win10下测试完成后要在win7中测试
这时,安装一个虚拟机是较为明智的选择
本文将讲述在使用虚拟机测试Unity发布的exe(所有的3D文件都适用)文件时覆盖下面几个坑们:
1.配置VirtualBox,使其能运行win7
2.“Failed to initialize Direct3D. …”原因分析
3.DX9的安装与检测是否安装成功
4.VirtualBox 3D加速功能的开启步骤
5.“安装增强功能”点击没反应的处理
一、配置VirtualBox
1.下载VirtualBox,链接中的VirtualBox 5.2.12 platform packages下面的Windows版
https://www.virtualbox.org/wiki/Downloads
详细安装流程
http://www.jb51.net/article/95052.htm
2.下载系统影像文件,如win7
3.开启电脑的Hyper-V功能
此步骤需要重启电脑进入Bios中设置,请根据主板品牌搜索开启方式
4.接下来新建虚拟电脑并指定系统影像
(1)起个名字,选择版本并指定合适的内存

(2)点击创建,最好选择一个C盘以外的位置盛放虚拟电脑
(3)点击设置

(4)依次选择“存储”->“没有盘片”->点击右侧光盘图标->“选择一个虚拟光盘文件”

(5)点击OK,双击此虚拟电脑,便可启动进入系统装载操作。
二、“Failed to initialize Direct3D. …”原因分析
将exe文件拷贝到虚拟机后,运行时出现了如下入错,完整的报错信息为:
Failed to initialize Direct3D.
Make sure you have at least DirectX 9.0c installed, have drivers for your
graphics card and have not disabled 3D acceleration
in display settings.
InitializeEngineGraphics failed
报错内容可以分为3部分,也就是说,这三种问题都会导致这种错误
(1)没有9.0c以上的DirectX
(2)显卡驱动不对
(3)在播放设置中关闭了3D加速
首先,win+R打开运行,输入cmd,回车
输入dxdiag

便可以看到当前系统的DX版本,若此处低于9.0c,便可从网上下载DirectX9.0c或者直接下载DirectX11进行安装
DX版本确认没问题后,如果还报错,就是后两个原因的问题
这两个问题表现在

1.上图中的驱动程序为未知
2.上图中的Direct3D加速为不可用

3.上图中3D加速不能启用,2D视频加速也不能启用
接下来将这几个问题合并处理
三、VirtualBox 3D加速功能的开启步骤
1.下载VirtualBox的Extension Pack
https://www.virtualbox.org/wiki/Downloads
下载后直接运行,便可开启VirtualBox设置中的3D加速和2D视频加速,并开启之
2.重启虚拟电脑,进入安全模式
在安全模式中点击设备,选择安装增强功能

进入安装
3.若点击没反应,打开我的电脑,打开CD驱动器
运行
便可手动运行上步骤中未运行的内容
4.勾选Direct3D Support安装
至此,虚拟机中便可运行3D软件
使用VirtualBox调试项目踩过的坑的更多相关文章
- 使用vue开发项目需要注意的问题和可能踩到的坑
最近,在公司给一些刚刚使用vue进行开发的同学做了一次分享, 其中包括一些vue开发中需要注意的点, 以及一些可能会踩到的坑.具体内容如下: 一.生命钩子使用需要注意的地方 1.beforeCreat ...
- 项目中踩过的坑之-sessionStorage
总想写点什么,却不知道从何写起,那就从项目中踩过的坑开始吧,希望能给可能碰到相同问题的小伙伴一点帮助. 项目情景: 有一个id,要求通过当前网页打开一个新页面(不是当前页面),并把id传给打开的新页面 ...
- 微信小程序项目踩过的几个坑
一.前言 近期,开始了一段辛酸的还未开始就已经结束的"创业"(参见我的第二次创业,以梦为马,莫负韶华).大体上是开发了一款微信小程序,关于创业这件事情就不细说了,本文主要介绍一下开 ...
- vue项目开发中踩过的坑
一.路由 这两天移动端的同事在研究vue,跟我说看着我的项目做的,子路由访问的时候是空白的,我第一反应是,不会模块没加载进来吧,还是....此处省略一千字... 废话不多说上代码 路由代码 { pat ...
- 《C++之那些年踩过的坑(二)》
C++之那些年踩过的坑(二) 作者:刘俊延(Alinshans) 本系列文章针对我在写C++代码的过程中,尤其是做自己的项目时,踩过的各种坑.以此作为给自己的警惕. 今天讲一个小点,虽然小,但如果没有 ...
- 《C++之那些年踩过的坑(附录一)》
C++之那些年踩过的坑(附录一) 作者:刘俊延(Alinshans) 本系列文章针对我在写C++代码的过程中,尤其是做自己的项目时,踩过的各种坑.以此作为给自己的警惕. [版权声明]转载请注明原文来自 ...
- 小程序——微信小程序初学踩过的坑
微信小程序初学踩过的坑 一.前言 最近因为某些需要和个人兴趣打算开发一下微信小程序,经过在官方网站上的基本了解,我大体知道了微信小程序开发的大致过程,其实最本质的就是MVVM,借用了很多模式上 ...
- springboot+layui 整合百度富文本编辑器ueditor入门使用教程(踩过的坑)
springboot+layui 整合百度富文本编辑器ueditor入门使用教程(踩过的坑) 写在前面: 富文本编辑器,Multi-function Text Editor, 简称 MTE, 是一 ...
- 第八篇:web之前端踩的一些坑
前端踩的一些坑 前端踩的一些坑 本节内容 事件代理 清除标签的所有事件 bootstrap的模态框自定义方法 ajax在django里面实现post提交 ajax提交数据嵌套 1.事件代理 之前写 ...
随机推荐
- 网站开发进阶(三十二)HTML5之FileReader的使用
HTML5之FileReader的使用 HTML5定义了FileReader作为文件API的重要成员用于读取文件,根据W3C的定义,FileReader接口提供了读取文件的方法和包含读取结果的事件模型 ...
- Python学习笔记 - 迭代器Iterator
我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的genera ...
- Linux共享内存编程实例
/*共享内存允许两个或多个进程进程共享同一块内存(这块内存会映射到各个进程自己独立的地址空间) 从而使得这些进程可以相互通信. 在GNU/Linux中所有的进程都有唯一的虚拟地址空间,而共享内存应用编 ...
- Android NDK开发method GetStringUTFChars’could not be resolved
Android NDK开发method GetStringUTFChars'could not be resolved 图1 最近用到android的ndk,但在eclipse中提示method Ge ...
- SpriteBuilder中关节的Breaking force属性
在SpriteBuilder中三种物理关节都包含Breaking force区域在属性框中. 该属性被设置成关节可以承受的压力临界值.如果关节的压力超出了Breaking force中设置的值,则关节 ...
- AngularJS进阶(十三)JS利用正则表达式校验手机号
JS利用正则表达式校验手机号 注:请点击此处进行充电! 绪 由于项目需求,需要在前端实现手机号码的校验.当然了,对于基本的格式校验应该放在客户端进行,而不需要再将待校验的手机号发送至服务端,在服务端完 ...
- 嵌入式C语言位运算之清位置位
如题,在嵌入式开发中,掌握位运算是节省开发时间和提高开发效率的一种高效方式. 我们不得不去熟悉如何快速掌握位运算这种高效的技巧,接下来看看程序.. #include <stdio.h> # ...
- erlang在redhat上的安装
erlang在redhat上的安装 1) 下载源码包: http://www.erlang.org/download/otp_src_17.3.tar.gz 2) RHEL6.4预安装包 $ yum ...
- SharePoint 2010 之soap:Server服务器无法处理请求
算是一个下马威?!刚刚部署上的SharePoint2010环境,感觉很欣喜,开始操作,结果装上Designer2010,打开页面,居然报错 错误内容:soap:Server服务器无法处理请求. --- ...
- LeetCode(64)- Min Stack
题目: Design a stack that supports push, pop, top, and retrieving the minimum element in constant time ...