我正在使用Visual Studio 2012和C ++,开发一个Qt应用程序。
我能够编译并调试它,但是,不知何故, Debug 或 Release 文件夹中没有.dll文件。我已尝试过其他一些帖子解决方案,但都没有效果。
那么,如何让Visual Studio将所需的.dll文件复制到发布文件夹中?
我认为它应该是一个选择。我刚刚开始考虑手工复制它。
答案 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
文件添加到该项目中。