我建立了一个 c++ 项目以在 visual studio 中使用 DLL。该库有 .h .lib 和 .dll 文件。程序编译运行,成功使用库。 DLL 放在源 的根目录中,而不是输出目录。当我构建时,我希望将 DLL 从源复制到输出目录,但事实并非如此。我在输出目录中看到的是类型、应用程序、增量链接器文件和程序调试数据库这 3 个文件。
也许我错了,但我认为 DLL 需要与输出目录中的可执行文件位于同一文件夹中。那么这是怎么回事?
最佳答案
这也是我很难找到的东西,但 VS 不会为您复制 .dll。您必须通过创建一个构建后事件来告诉它。查看 XCOPY 上的链接: https://support.microsoft.com/en-us/kb/240268
我需要将一些 dll 复制到我的目标目录(构建目录),因此在我的项目设置中的构建后事件中使用了以下内容:
xcopy $(ProjectDir)openal32.dll $(TargetDir) /Y /D
只需将“openal32.dll”替换为您需要复制的任何 dll,并为您需要复制到目标(构建)目录的每个 dll 创建一个新的构建事件。
/Y 禁止提示确认覆盖 /D 指示编译器仅当它是此构建中 dll 的较新版本时才进行复制。
关于c++ - 为什么 DLL 没有复制到输出目录? C++ Visual Studio ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31222152/