我正在运行 Microsoft Visual Studio Express 2012 for Windows Desktop,我的电脑是64位的,操作系统是Windows 8。
我创建了一个全新的Win32控制台应用程序(使用C++),并接受了默认选项。然后,我在调试模式和发布模式下构建和运行解决方案,它都可以正常工作。接下来,我为动态SFML库配置了包含和库目录。我链接到调试和发布的.lib文件,并将相应的.dll文件放入正确的目录中。然后,我添加了一些简单的代码使用该库,在调试模式下构建和运行应用程序时遇到此错误:“程序无法启动,因为缺少MSVCR100D.dll文件。尝试重新安装程序以解决此问题。
”如果我在发布模式下构建和运行应用程序,它将无错误地工作。(我已经安装了32位和64位的redistributables)现在根据this线程的理解,.dll文件仅用于调试,不包含在可再分发的软件包中(这就解释了为什么在调试模式下无法工作)。答案说开发人员默认情况下已安装它与Visual Studio一起使用,但很明显这不是情况,因为错误提示,并且我已经重新安装了Visual Studio并重启了电脑两次。
总之,我如何在调试模式下简单编译我的解决方案而不会出现这个错误?
我担心有人会将此标记为重复,所以我们来看看:
链接 - "...你似乎正在链接运行时的调试版本,分发应用程序时不应链接调试版本的运行时。"
这与我无关,因为我没有分发这个应用程序,只是在调试模式下尝试运行它。
链接 - "我使用 Microsoft Visual C++ 2010 Express Edition 编译我的程序,并尝试在另一台没有相同编译器的计算机上运行它。"
这个人在将编译好的程序运行在不同的计算机上时出现了错误,而不是在编译应用程序时出现错误。
链接 - "如果您的发布版本遇到此错误..."
我没有遇到这种情况。
链接 - "您可以在“Release”中编译您的项目..."
我的项目还没有准备好发布,因此我应该在调试模式下编译我的项目。