DLL 不会在构建后事件中复制

Posted

技术标签:

【中文标题】DLL 不会在构建后事件中复制【英文标题】:DLL won't copy in a post-build event 【发布时间】:2019-09-27 10:02:50 【问题描述】:

我正在测试如何在 C++ 中使用 DLL。为此,我关注Microsoft walk-through。一切正常,但我被困在"To copy the DLL in a post-build event"。

这是我输入的:

当我构建程序时,一切看起来都很好,但没有复制文件。

当我运行程序时出现此错误:

有人知道我的问题的解决方案吗?

【问题讨论】:

MathLibrary.dll 是否被复制到 MathClient\Debug? 另外,您是否将它放在 MathLibrary 或 MathClient 的构建后事件中?如果是第一个,您是否尝试重建 MathLibrary? 附带建议 - 确保将“MathClient”配置为依赖于“MathLibrary”。 好问题,需要鹰眼。请注意屏幕截图中窗口的标题栏“描述”。您编辑了构建事件的描述,这是不正确的。改为编辑命令。只有在同一解决方案中有 MathLibrary 时,Phil 的评论才适用。这是一个好主意,但如果是这样的话,你根本不必这样做。 $(IntDir) 是不确定的,但你会在 32 位构建中摆脱它。 @Botje 否定,MathClient/Debug 中不存在 MathLibrary.dll。我将构建后事件放在 MathClient 中 【参考方案1】:

Hans Passant 指出我把命令放在了 Post-Build 事件属性的描述框中。现在一切正常。

【讨论】:

以上是关于DLL 不会在构建后事件中复制的主要内容,如果未能解决你的问题,请参考以下文章

当 JUnitTestLogger.dll 是传递依赖时,它不会在构建时复制

在编译期间监视文件复制

如何仅为调试构建运行 Visual Studio 构建后事件

Cmake 问题。复制 dll 构建后

VS 构建后事件

构建后事件无法执行