我正在使用C++和Qt开发Visual Studio 2012应用程序。我能够编译和调试它,但是一些.dll文件没有在Debug或Release文件夹中。我尝试了其他帖子的解决方案,但都没有起作用。那么,如何让Visual Studio将所需的.dll文件复制到发布文件夹中?我认为应该有一个选项,但现在开始考虑手动复制。
有太多错误的建议,DLL不能作为资源。Windows 要求代码必须存储在一个具有正确PE32头文件的单独可执行文件中。这使它能够创建一个内存映射文件将文件内容映射到内存中,允许代码被多个进程共享,并将其保持不被分页文件调用。并且可以重新定位代码当DLL的基地址已经在使用时。
只需使用"项目属性-生成事件-后期生成事件"来复制DLL即可。如果您将所需的DLL存储在项目的"dlls"子目录中,那么此命令将在必要时进行复制:
xcopy /d /y "$(ProjectDir)dlls\*.*" "$(OutDir)"
在Debug和Release配置中都使用它,这样你就可以调试确切地发布的内容。
.dll
文件作为资源添加到项目中。这样,您的.dll
文件将在项目的resources
文件夹中。添加项...
->新建项...
并将一个资源(.qrc
)文件添加到项目中,并将.dll
文件添加到该文件中。