我的程序无法在某些电脑上运行
My program doesn't run on some PCs
我正在一个项目中使用C++、OpenCV和Visual Studio构建一个带有计算机视觉的应用程序。我不是部署程序在其他电脑上使用的专家。
我制作了一个程序,需要分发给一定数量的人,但我无法在我想要的所有计算机上运行。该程序是使用Visual Studio 2015编写的,它是一个MFC项目,代码是用C++编写的,因为我使用的是OpenCV。
当它完成后,我试图在另一台电脑上运行它,但我意识到它无法打开。我在网上查了一下,发现我需要静态链接库,所以我做了。此外,当我寻找信息时,我发现Visual Studio 2015构建了它的项目,这样你就可以在Win7到Win10的机器上运行程序。当我了解到这一点时,我试着在运行Windows 7、8、8.1和10的电脑上打开它。我在大约20台电脑上测试了我的程序。
结果如何?我无法使它在Windows 7上工作,每次我尝试打开它时都会显示错误ucrtbase.terminate api-ms-win-crt-runtime-l1-1-0.dll。它也没有在一台装有Windows 8的机器上打开而不显示任何错误消息,但它在大多数装有win 8.1和win 10的机器上都打开了。问题是">最多";有一些电脑(Win 8.1和10)我无法打开我的程序。我发现有时它会在任务管理器中显示不到一秒钟,然后消失。压力最大的是它没有告诉我问题出在哪里,也没有显示任何错误信息。它就是打不开。
我试着使用Dependency Walker(既在我的电脑上,也在我无法运行程序的电脑上)来查看是否缺少了什么,我得到了一个系统找不到的文件列表,下面是一个例子:列表1/11。令人好奇的是,尽管Dependency Walker(DW)告诉我它可能有问题,但我的程序在我的计算机上执行得很好,并且在我可以打开它的计算机上运行得很好。这表明DW没有找到我遇到的确切错误。
我尝试过的另一件事是比较我在电脑上安装的东西,并将它们安装在我想执行程序的电脑上。我尝试安装.NET Framework 4.6.1,只是因为VS 2015说我的项目是使用它构建的(我在电脑中安装了它,而另一台没有。我还尝试了.NET 4.6.1 SDK)。一切都没有改变。
看看这里:
https://msdn.microsoft.com/de-de/library/ms235299.aspx
快速而肮脏的方法是从redist目录中复制DLL。对于我的MS VS 2013,它隐藏在VS安装目录下:
VCredistx86
或
VCredistx64
...
这取决于您的应用程序。
- 运行同一解决方案的另一个项目的项目
- CMake-按正确顺序将项目与C运行时对象文件链接
- 如何运行位于boost/libs/python/example/tutorial目录中的hello.cpp和Jamfil
- 代码在main()中运行,但在函数中出现错误
- 我在c++代码中生成了一个运行时#3异常
- 如何在linux终端中同时编译和运行c++代码
- 为什么在运行时没有向我们提供有关分段错误的更多信息?
- 如何在运行中期切换GTK CSS style_context
- 如何在MS Visual Studio 2019中运行QT UI
- 如何通过cpp程序运行shell脚本
- 为什么我不能在另一台电脑上运行自己的dll(msvcrt.dll被错过)
- 我的程序无法在某些电脑上运行
- 我的版本.exe无法在其他电脑上运行
- c++程序无法在另一台电脑上运行,出现libgcc错误
- 在学校电脑上运行GMP程序
- 如何确保我的 direct3d 应用程序每次都能在任何电脑上运行
- 有没有在安卓平板电脑上运行的免费C++和/或C#编译器
- Qt应用程序可以在台式机上运行,但不能在笔记本电脑上运行
- Qt GUI应用程序可以在我的电脑上运行,但不能在其他电脑上运行
- 在 Arduino UNO 和运行 Linux 的笔记本电脑之间设置蓝牙 (BLE) 通信