为什么DLL没有复制到输出目录?C++ Visual Studio

Tho*_*mas 1 c++ dll visual-studio visual-studio-2015

我设置了一个c ++项目来在visual studio中使用DLL.该库有.h .lib和.dll文件.该程序编译并运行,并成功使用该库.DLL放在的根目录中,而不是输出目录中.当我构建时,我希望将DLL从源代码复制到输出目录,但事实并非如此.我在输出目录中看到的只有3个类型,应用程序,增量链接器文件和程序调试数据库的文件.

也许我错了,但我认为DLL需要与输出目录中的可执行文件位于同一文件夹中.发生什么了?

小智 5

这也是我很难找到的东西,但是VS不会为你复制.dll.您必须通过创建Post-Build事件来告诉它.查看XCOPY上的链接:https: //support.microsoft.com/en-us/kb/240268

我需要将一些dll复制到我的目标目录(构建目录),因此在我的项目设置中的Post-Build事件中使用了以下内容:

xcopy $(ProjectDir)openal32.dll $(TargetDir) /Y /D
Run Code Online (Sandbox Code Playgroud)

只需将"openal32.dll"替换为您需要复制的任何DLL,并为需要复制到目标(构建)目录的每个dll创建一个新的构建事件.

/ Y禁止提示确认覆盖/ D指示编译器仅复制它是否是此版本上的较新版本的dll.