QT pro文件的一种通用配置

时间:2022-05-07 20:17:57

 

 

#设置UI文件目录

UI_DIR = ./ui

CONFIG(debug, debug|release)

{   #设置debug配置下编译生成文件的路径  

TARGET = $$join(TARGET,,,d)   #为debug版本生成的文件增加d的后缀  

contains(TEMPLATE, "lib")

{    

DESTDIR = ../output/debug/lib        #将库放在lib文件夹下    

DLLDESTDIR = ../output/debug/bin     #将动态库自动拷贝至bin目录下  

}

else

{    

DESTDIR = ../output/debug/bin        #将应用程序放在bin目录下  

}  

OBJECTS_DIR = ./debug/obj     #将生成的对象文件放在专门的obj文件夹下  

MOC_DIR = ./debug/moc         #将QT自动生成的对象放在moc文件夹下

}

else

{   #设置release配置下编译生成文件的路径  

contains(TEMPLATE, "lib")

{    

DESTDIR = ../output/release/lib        #将库放在lib文件夹下    

DLLDESTDIR = ../output/release/bin     #将动态库自动拷贝至bin目录下  

} else

{    

DESTDIR = ../output/release/bin        #将应用程序放在bin目录下

  }  

OBJECTS_DIR = ./release/obj   #将生成的对象文件放在专门的obj文件夹下  

MOC_DIR = ./release/moc       #将QT自动生成的对象放在moc文件夹下

}

---------------------

本文来自 AgentNeo 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/wajh07/article/details/37769283?utm_source=copy

就是这么一回事,在输出的目录之中额外增加了一个output目录,output目录下将会有release和debug两个子目录,每个子目录之中又会存在bin,lib两个目录。 其中,bin目录下会存在所有的可执行文件以及自动复制的dll(Linux下,动态链接库不会自动复制,很奇怪),lib目录下就是库(.lib文件和.dll文件,Linux下的.so文件等等……) 其实弄出个这个就是为了解决QtCreator终于支持的建立subdir工程但是生成的可执行文件以及动态库却分布的十分分散而弄的,还有将debug版本和release彻底分离而弄的。 只不过是为了一个很漂亮的输出目录罢了……