LIBS += -L$$PWD/lib/ -lStv1
QMAKE_POST_LINK += $$QMAKE_COPY $$replace(PWD,"/","\\")\lib\Stv1.dll $$replace(OUT_PWD,"/","\\")\debug\Stv1.dll
pro文件里,写起来按理说应该是轻松地。如果不轻松,就通过qmake之后查看生成的makefile来核对相应的内容是否正确。目前是这么处理的。
关于LIBS中的 -L段,千万不要相信qmake后会自动更新成相应的目录,除非目标OUT_PWD中已经存在了相应的目录结构,还是乖乖的用绝对路径或者和目标文件夹都能找得到的相对路径。反正最后调用时候程序只会在默认的目录中去查找-l后的名称。即使使用dll文件,但是在链接时还是要lib的。
关于QMAKE_POST_LINK应该是很好的东西,确实可以保证在处理完成后执行相应的命令。但是呢,对win中QMAKE_COPY(copy /y)参数中的路径不能存在‘/’,所以必须通过替换将路径中的‘/’替换成‘\’,还要涉及转义。
暂且这么多。