Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 找不到MSVCP110D.dll_C++_Visual Studio 2012_Sfml - Fatal编程技术网

C++ 找不到MSVCP110D.dll

C++ 找不到MSVCP110D.dll,c++,visual-studio-2012,sfml,C++,Visual Studio 2012,Sfml,我正在尝试使用SFML制作一个游戏。我在VisualStudio2012和Windows7上做了一部分。我试图在另一台使用Windows XP的电脑上运行游戏,但出现了一个错误“找不到MSVCP110D.dll”。我在这个论坛上看到了另一个主题,它说在发布模式下编译代码,但是当我在编译之前选择“Release”选项时,VisualStudio会强调与SFML相关的所有内容。它找不到我包含的“SFML/Graphics.hpp”库。在“调试”模式下,一切正常。你知道我如何在不同的电脑(Window

我正在尝试使用SFML制作一个游戏。我在VisualStudio2012和Windows7上做了一部分。我试图在另一台使用Windows XP的电脑上运行游戏,但出现了一个错误“找不到MSVCP110D.dll”。我在这个论坛上看到了另一个主题,它说在发布模式下编译代码,但是当我在编译之前选择“Release”选项时,VisualStudio会强调与SFML相关的所有内容。它找不到我包含的“SFML/Graphics.hpp”库。在“调试”模式下,一切正常。你知道我如何在不同的电脑(WindowsXP或Windows7)上运行游戏吗

我将项目的属性更改为针对Windows XP编译。当我尝试在XP上运行游戏时,如果没有此选项,则会出现错误“不是有效的32位应用程序”


现在一切正常。我更改了释放模式的所有设置。在我的XP PC上安装了C++重新分配2012。但是如果我把游戏发送给没有C++重分发的人2012?

,因为评论中的讨论已经显示,你应该总是在发布模式下进行部署。此外,当动态链接运行时时,您需要为应用程序提供DLL(从可执行文件旁边的Visual Studio目录中复制它们),或者发送/链接匹配的重新分发


另一种选择是静态链接,正如Schepurin所指出的,但请记住,如果做得不正确和一致,这可能会导致其他问题

如果您的项目编译器处于调试模式而不是发布模式,那么这是因为您的项目设置对于发布模式不正确。无论您对调试模式的项目设置做了什么更改,您都必须对发布模式进行相同的更改。例如,如果在发布模式中找不到“SFML/Copy.HPP”,那是因为“附加目录”的发布模式设置不正确。要在另一台计算机上运行VC++应用程序,必须添加相应的可再分发包(参见并阅读此“重新分发Visual C++文件””。-我更改了发布模式的所有选项。我想我只需要将选项形式“Debug”更改为“Release”。但现在,当我尝试在XP上运行它时,它显示“MSVCP110.dll未找到”如果没有“D”,它是在发布模式。什么是问题?在我的XP PC上重新分配Visual C++是2010。我需要2012版本,因为我正在VS 2012上编写游戏?你可以静态链接你的应用程序所需要的运行库。