沙盒/虚拟机中运行基于OpenGL的应用软件

Windows沙盒(Sandbox)是Windows操作系统中自带的虚拟机。对于不确定的应用程序,可以先在沙盒里测试运行。沙盒与当前的操作系统隔离,可以安全地在隔离状态下运行应用程序。沙盒是临时的,关闭后,系统将删除所有软件和文件以及状态。 每次打开应用程序时,都会获得沙盒的全新实例。打开沙盒系统无需安装或购买一份新的操作系统,这是相对于VirtualBox等虚拟机来说一个优势,但是只有在Windows专业版或企业版才有沙盒功能。

在沙盒环境下运行含有OpenGL的软件时,可能会遇到一些显示问题。由于沙盒环境下没有对OpenGL的原生支持,因此,当应用软件基于OpenGL但不包含OpenGL依赖库的时候,会出现显示的问题,如没有主界面等现象。WelSim系列的MatEditor是一款免费的工程仿真材料编辑软件,当在沙河中首次打开时,可能会无法显示主窗口,是由于沙盒的操作系统中没有OpenGL的相关库文件。

解决方法很容易,只需要为当前的MatEditor程序添加OpenGL的库即可。

1. 从GitHub上下载Mesa的OpenGL库,项目名称为mesa-dist-win。

2. 选择对应的操作系统和编译方式版本。这里选择的是release-msvc版本。

3. 解压后,在解压目录中输入cmd,进入命令行模式。并运行perappdeploy.bat文件。

4. 会进入命令行模式,并显示相关信息。按下任意键后。

5. 根据提示,分别输入可执行文件的文件夹C:\Program Files\WELSIM\MatEditor。可执行文件的名称runMatEditor.exe。选择处理器构架为x64。

6. 为MatEditor添加OpenGL库文件的工作已经完成。可以再次运行MatEditor应用。主窗口与界面完美显示。

总结

本文通过以MatEditor软件为例,介绍了在Windows沙盒中解决和OpenGL依赖库有关的问题。此方法同样适用没有OpenGL支持的操作系统环境,如Virtual Box中的Windows系统。除了MatEditor,WelSim系列下的通用仿真软件WELSIM,和免费的曲线拟合软件CurveFitter也都基于OpenGL,因此在沙盒环境下,也需要做类似配置。

WelSim与作者和OpenGL, Windows, Linux, VirtualBox, SandBox等开发机构没有直接关系。这里引用OpenGL, Windows, Linux, VirtualBox, SandBox仅用作技术博客文章与软件使用的参考。 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容