qmake用法
当我们拿到一个项目时,或者这个项目是使用visual studio来管理的,但是这个项目里不涉及到依赖平台的写法,完全是POSIX跨平台的代码,由于代码文件较多在Linux上只有.sln文件而Linux又没有visual studio来管理它,这个时候我们可以使用qmake来一键为我们生成项目。
在项目里使用qmake命令来生成pro对应的pro文件,qmake会自动梳理.h、.c、.cpp文件的关系,然后生成对应的Makefile文件.
使用如下命令生成.pro文件
qmake -project
会生成一个与你当前项目文件夹名字对应的.pro文件,你可以加上-o参数来更改别名。
你可以打开pro文件查看一下,会发现里面已经为我们梳理好了项目体系,就像平时我们用qt开发程序一样
紧接着在执行如下命令:
qmake
就会根据pro文件生成Makefile文件
在紧接着你只需要按流程执行make就可以了
make
在这个过程中可能会出现找不到头文件之类的,qmake在生成pro文件时不具有检查第三方依赖库的功能,如果缺失头文件之类的可以根据pro文件里进行一下配置就好了。
其次是如果你的项目工程是想要生成.so库的话需要在pro文件里加入TEMPLATE变量,这个变量决定make生成什么样的程序
TEMPLATE = lib
qamek根据这些变量来生成Makefile文件,如SOURCES变量就记录了哪些文件会被编译
下面是qmake的模板变量介绍:
HEADERS - 应用程序中的所有头文件的列表。
SOURCES - 应用程序中的所有源文件的列表。
FORMS - 应用程序中的所有.ui文件(由Qt设计器生成)的列表。
LEXSOURCES - 应用程序中的所有lex源文件的列表。
YACCSOURCES - 应用程序中的所有yacc源文件的列表。
TARGET - 可执行应用程序的名称。默认值为项目文件的名称。(如果需要扩展名,会被自动加上。)
DESTDIR - 放置可执行程序目标的目录。
DEFINES - 应用程序所需的额外的预处理程序定义的列表。
INCLUDEPATH - 应用程序所需的额外的包含路径的列表。
DEPENDPATH - 应用程序所依赖的搜索路径。
VPATH - 寻找补充文件的搜索路径。
DEF_FILE - 只有Windows需要:应用程序所要连接的.def文件。
RC_FILE - 只有Windows需要:应用程序的资源文件。
RES_FILE - 只有Windows需要:应用程序所要连接的资源文件。
LIBS - 包含要链接到项目(project)的库列表文件/ 路径。用-l (library) 和 -L(library path)。