使用Qt开发的时候,如果生成了应用程序,需要直接运行是不可以的,需要发布,使用windployqt命令,但是第三方库不能自动复制进去。VS有vcpkg,nuget,可以很方便的复杂到应用程序同级目录,貌似对Qt不太友好。所以,妙用生成后事件,可以将第三方库复制到指定位置。
OutputDir = $${DESTDIR}/
OutputDir = $$replace(OutputDir, /, \\)
CONFIG(debug,debug|release) {
TargetDll = ./xxxx/debug/*.dll
}
CONFIG(release,debug|release) {
TargetDll = ./xxxx/release/*.dll
}
TargetDll = $$replace(TargetDll, /, \\)
QMAKE_POST_LINK += copy /Y \"$$TargetDll\" \"$$OutputDir\"
#如果还需要关联其他的库,需要在每个QMAKE_POST_LINK之间加入如下内容:
QMAKE_POST_LINK += &&