如何让Visual Studio将所需的.dll文件复制到release文件夹中?

时间:2013-11-18 10:05:36

标签: c++ qt visual-studio-2012 dll

我正在使用Visual Studio 2012和C ++,开发一个Qt应用程序。

我能够编译并调试它,但是,不知何故, Debug Release 文件夹中没有.dll文件。我已尝试过其他一些帖子解决方案,但都没有效果。

那么,如何让Visual Studio将所需的.dll文件复制到发布文件夹中?

我认为它应该是一个选择。我刚刚开始考虑手工复制它。

2 个答案:

答案 0 :(得分:24)

太糟糕的建议,DLL不能成为资源。 Windows 要求该代码存储在具有适当PE32标头的单独可执行文件中。这允许它创建一个内存映射文件来将文件内容映射到内存中,允许代码由多个进程共享并使其远离页面文件。并在DLL的基地址已被使用时重新定位代码。

只需使用Project + Properties,Build事件,Post-Build事件来复制DLL。任意地,如果您将所需的DLL存储在项目的“dlls”子目录中,那么只有在必要时才会复制它们:

 xcopy /d /y "$(ProjectDir)dlls\*.*" "$(OutDir)"

在“调试”和“发布”配置中都使用它,这样您就可以准确调试要发布的内容。

答案 1 :(得分:-2)

将您的.dll个文件作为资源添加到您的项目中。这样,您的.dll文件将位于项目的resources文件夹中。

尝试Add Item... - > New Item...并将资源(.qrc)文件添加到项目中,并将.dll文件添加到该项目中。