Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.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++ Visual Studio-在Visual Studio之外运行项目_C++_Visual Studio 2010_Visual Studio - Fatal编程技术网

C++ Visual Studio-在Visual Studio之外运行项目

C++ Visual Studio-在Visual Studio之外运行项目,c++,visual-studio-2010,visual-studio,C++,Visual Studio 2010,Visual Studio,该项目在VisualStudio的调试模式下运行正常,但当我试图双击生成的exe时,它表示缺少一些dll。当我复制exe旁边缺少的dll并再次双击时,没有出现错误消息对话框,但也没有发生任何事情(该项目具有基于Qt的GUI并引用了一些外部png文件) VisualStudio如何运行exe?我如何自己运行exe?我是否应该为该项目创建一个安装程序,使其在其他计算机上运行?您需要静态生成或提供所需的dll文件 位于的页面说明如何查找缺少的dll文件。当进程需要按名称加载dll(没有完整路径)时,它

该项目在VisualStudio的调试模式下运行正常,但当我试图双击生成的exe时,它表示缺少一些dll。当我复制exe旁边缺少的dll并再次双击时,没有出现错误消息对话框,但也没有发生任何事情(该项目具有基于Qt的GUI并引用了一些外部png文件)


VisualStudio如何运行exe?我如何自己运行exe?我是否应该为该项目创建一个安装程序,使其在其他计算机上运行?

您需要静态生成或提供所需的dll文件


位于的页面说明如何查找缺少的dll文件。

当进程需要按名称加载dll(没有完整路径)时,它将检查多个不同的位置。其中一个位置可能是当前工作目录。(搜索路径的详细信息因历史记录和安全问题而变得复杂。您可以通过查找和查看MSDN了解详细信息。)

在VisualStudio中,如果查看项目的“属性”页面,并单击“调试”选项卡,您将看到从VisualStudio启动程序时将哪个目录设置为工作目录。当您双击图标时,我相信工作目录将是可执行文件的目录。如果这些是不同的,这可以解释为什么在一种情况下可以找到DLL,而在另一种情况下却找不到

如果您直接调用LoadLibrary,最好的做法是始终提供该库的完整路径。通常,您可以获取ModuleFileName以查找可执行文件的完整路径,然后将文件名部分替换为DLL的名称或从可执行文件到DLL的相对路径


如果无法加载隐式链接的DLL,则可能需要确保DLL与可执行文件位于同一目录中。

尝试在发布模式下构建解决方案。您将在bin\Release中找到exe文件。项目中需要的所有库和文件也应在此文件夹中。因此,当移动到其他计算机时,不要忘记也复制它们。工作目录在VS中正确设置。这就是为什么您可以从VS运行它。