WSL 和 Freeglut - 应用程序无法正确启动 (0xc000007b)

时间:2021-02-22 02:43:24

标签: windows opengl windows-subsystem-for-linux glut freeglut

我正在做一项涉及图形编程的学校作业,它使用了 freeglut。我必须安装 WSL,并获得了用于运行测试编译的启动代码。它编译得很好(使用他们为 WSL 用户提供的适当 Makefile),但是当我运行它时我得到一个错误。

"The application was unable to start correctly (0xc000007b). Click OK to close the application."

注意:同时使用 WSL 命令行和 Windows 资源管理器运行时会发生此错误。

注意 2:我已经能够使用其他未使用 freeglut 的入门代码。

我按照下面的官方课程教程设置了一切

enter image description here

我尝试了很多不同的方法来修复它,我做了一个课堂讨论线程,如果我链接它,我不确定你是否能够访问它,所以我会尝试复制粘贴我的信件那边。它列出了我尝试过的事情(与助教交谈,如果你在这里看到“尼克”这个名字,那就是原因):

[复制粘贴的讨论从这里开始]

更新 #1:我已经在 Dependency Walker 中打开了该程序,它没有显示任何丢失的 .DLL。再加上程序编译得很好的事实,让我相信我没有遗漏任何 .dll 要求(如果这种想法是正确的)。但我对其他想法持开放态度。

更新 #2:我已经尝试了 this list 中的所有内容,但仍然没有运气。我发现的唯一其他解释是堆栈溢出,它说这可能是由于尝试在 32 位系统上运行 64 位可执行文件引起的,反之亦然。我的本地机器是 64 位 Windows 10,我完全按照 Nick 的 Win 10 说明进行了设置(我假设他的设置是针对 64 位的,对吗?)。

注意:我链接的上述列表包括以下内容:

Run The Application As Administrator
Reinstall The Application
Update .NET Framework
Reinstall Microsoft Visual C++ Redistributable Package
Update Your Windows Operating System
Troubleshoot Compatibility
Check Your Hard Drive For Errors
Perform A Clean Boot
Run System File Checker

我都试过了。

更新 #3:

仍然没有运气,我已经尝试了你在这里推荐的所有内容:更新到 WSL2,(重新安装 minGW,确保 freeglut.dll 来自 /x64/ 文件夹(我实际上已经这样做了几次),然后这个 .dll 也被复制到我的 system32 和 sysWOW64 文件夹中。

我注意到 avast 防病毒软件有时会在启动时扫描 run.exe,所以我什至尝试完全卸载 avast 并重新启动我的计算机;那也没有用。

我已经运行了您之前几次提到的兼容性疑难解答程序,它尝试在其他环境中运行(Windows 8,我相信 Service Pack 2,但这些都不起作用) - 但这次我选择了“程序是“显示不正确”,然后选择了向 Windows 报告并在线搜索解决方案的选项,当我这样做时,出现了以下菜单:enter image description here

更新 #4:我在谷歌上搜索并试图弄乱依赖步行者,看看我是否只能让它搜索 WSL 文件夹,但很难确定问题是否存在于我的 WSL 安装或我的本地机器中。我将尝试对两者进行故障排除,但强烈倾向于认为它是我的本地机器,因为在编译过程中没有任何错误。这是我每次编译时的样子:

ghost@DESKTOP-H4I6ES7:/mnt/c/Users/Anthony/Documents/CS 478/HW1_starter/q3$ make x86_64-w64-mingw32-g++ main.o -lopengl32 -lfreeglut -lglu32 -o run.exe

而且,我不确定这是否相关,但只是为了提供一些附加信息,以下是我在 WSL 中的“GL”文件夹的内容: enter image description here

注意:我还不是最大的技术人员,但会尽力理解给出的任何答案或建议。非常感谢。谢谢!

0 个答案:

没有答案
相关问题