随笔记录
1、宏定义添加 .pro
DEFINES += TEST_DEFINE (其中TEST_DEFINE为测试宏)
2、重定义库文件输出目录
win32:CONFIG(debug, debug|release):{DESTDIR += $$PWD/Output/debug}
else:win32:CONFIG(release, debug|release):{DESTDIR += $$PWD/Output/release}
else:unix:CONFIG(debug, debug|release):{DESTDIR += $$PWD/Output/debug}
else:unix:CONFIG(release, debug|release):{DESTDIR += $$PWD/Output/release}
注意:unix只是一个标识符,在这里不会区分linux或者unix;
3、拷贝文件到指定目录下
qt的pro配置文件中也可以添加各种编译前后的操作配置,主要是通过QMAKE_POST_LINK和QMAKE_PRE_LINK;
QMAKE_POST_LINK表示编译后执行内容;
QMAKE_POST_LINK += cmd_line1 cmd_line2
QMAKE_PRE_LINK表示编译前执行内容;
QMAKE_PRE_LINK += cmd_line1 cmd_line2
win32:CONFIG(debug, debug|release):{
QMAKE_PRE_LINK += copy F:\\Datastyle\\****.xml F:\\OutputDir &
}else:win32:CONFIG(realse, debug|release):{
QMAKE_PRE_LINK += copy F:\\Datastyle\\****.xml F:\\OutputDir &
}
unix:CONFIG(debug, debug|release):{
QMAKE_PRE_LINK += cp /Datastyle/****.xml /OutputDir &
}else:win32:CONFIG(realse, debug|release):{
QMAKE_PRE_LINK += cp Datastyle/****.xml /OutputDir &
}
3扩展 windows下需要替换“/”为“\\”
win32:CONFIG(debug, debug|release):{
TargetDll = $$PWD/ThridPart/win/test.dll
TargetDll = $$replace(TargetDll, /, \\) #注意windows下,需要将"/"替换为"\\"
OutputDir = $$PWD/Output/debug
OutputDir = $$replace(OutputDir, /, \\)
QMAKE_POST_LINK += copy $$TargetDll $$OutputDir &
}else:win32:CONFIG(realse, debug|release):{
TargetDll = $$PWD/ThridPart/win/test.dll
TargetDll = $$replace(TargetDll, /, \\) #注意windows下,需要将"/"替换为"\\"
OutputDir = $$PWD/Output/debug
OutputDir = $$replace(OutputDir, /, \\)
QMAKE_POST_LINK += copy $$TargetDll $$OutputDir &
}
unix:CONFIG(debug, debug|release):{
QMAKE_POST_LINK += cp $$PWD/ThridPart/win/test.so $$PWD/Output/debug &
}else:unix:CONFIG(realse, debug|release):{
QMAKE_POST_LINK += cp $$PWD/ThridPart/win/test.so $$PWD/Output/release &
}