首先说一堆废话,pro文件的作用应用B站一个博主的视频内容:
1.添加我们需要用的Qt模块。
2.指定生成的目标文件信息。
3.配置编译需要的文件。
4.配置编译需要的环境。
5.生成模板的类型。
主要常规的配置如下:
1.模板类型配置(TEMPLATE = app(lib))
app-表示工程建立的是一个应用程序makedfile,如果没有TEMPLATE就是默认的app。
lib-表示改工程建立一个库的makefile
2.应用程序名(TARGET = appname)
TARGET设置生成的应用程序的名称
此时生成的exe的名称便与我设置的名称一致。
3.指定程序放置的目录(DESTDIR = appdir)(DESTDIR全称-destination directory)
指定生成的exe放置的位置
此时我将改了名字的exe放在了我指定的文件夹下面(PWD(print work directory)是项目文件夹位置)
4.预编译宏(DEFINE += yourdefines)
如果项目的文件中存在需要先预编译的部分才可以运行的代码部分,需要使用此命令。
比如我这边预先定义了WNT,那我程序中的代码在运行时就会走框框部分。
5.OBJ生成目录(OBJECT_DIR = yourobjdir)
用于指定生成的obj存放的位置,可以是绝对路径也可以是相对路径
如我指定了我生成的obj都保存在我自己设定的路径文件夹下。
6.附加头文件包含目录(INCLUDEPATH += path)
需要的第三方库时配置include目录
比如我这边需要的第三方Opencascade和ifc++的库,将他们的库头文件所在的文件路径添加进去。
7.连接库(LIBS += -L"路径”-l库名称)
添加第三方的静态库(.lib .a)以及动态库(.dll .so)
这里有多种写法,我就直接拷贝一个博主(https://developer.aliyun.com/article/243191)的例子了
上述是博主的三种方式
我自己在项目中还写过这样的
其实都是可以的,只要编译时能找到你的需要的第三方库连接位置就可以
注:-L是指定目录 -l是指定库文件的名称,-l后面没有空格。
LIB += path 后面可以多行写,也可以用 \ 隔开继续写(博主的第三种方法)
8.关键变量(CONFIG)
引用ChatGpt的话:
COFIG是一个关键变量,用于指定和配置项目的构建选项和特性,通过设置CONFIG变量,开发者可以影响项目在不同环境下的编译和运行行为。以下是常见的CONFIG参数:
9.其他
SOURCES:当前工程中的C++源文件。
HEADERS:当前工程中的C++头文件。
FORMS:当前工程中的ui文件按。
----------------上述如果有误欢迎大家交流----------------------------------------------------------------------------