我在装有 Windows 8 的 64 位机器上运行 Microsoft Visual Studio Express 2012 for Windows Desktop。
我创建了一个全新的 Win32 控制台应用程序(在 C++ 中)并接受默认选项。然后,我在调试和发布模式下构建并运行该解决方案,它可以正常工作。接下来,我为动态 SFML库配置包含目录和库目录。我链接到调试和发布 .lib 文件,并将调试和发布 .dll 文件放在正确的目录中。然后我添加了一些使用库的简单代码,在调试模式下构建和运行应用程序,我得到这个错误:“ The program can't start because MSVCR100D.dll is missing from your computer. Try reinstalling the program to fix this problem.
”如果我在发布模式下构建和运行应用程序,它可以正常工作。(是的,我安装了 32 位和 64 位的可再发行组件。)现在根据我的理解并根据这个.dll 文件仅用于调试并且不包含在可再发行包中的线程(这可以解释为什么它在调试模式下不起作用)。答案说开发人员默认将它与 Visual Studio 一起安装。这显然不是错误的证据,我已经重新安装了 Visual Studio 并重新启动了我的计算机两次。
总之,我如何在调试模式下简单地编译我的解决方案而不会出现此错误?
恐怕有人会将其标记为重复,所以我们开始吧:
LINK - “...您似乎正在链接到运行时的调试版本,分发链接到运行时的调试版本的应用程序是不正常的。”
与我无关,因为我没有分发此应用程序,只是尝试在调试模式下运行它。
LINK - “我使用 Microsoft Visual c++ 2010 Express Edition 编译了我的程序,并尝试在另一台没有相同编译器的机器上运行它。”
此人在运行他在另一台计算机上编译的内容时会出现错误,而不是在实际编译应用程序时。
LINK - “如果您的发布版本出现此错误...”
我不。
LINK - “您可以在“发布”中编译您的项目...”
我的项目还没有准备好发布,因此我应该在调试模式下编译我的项目。