QtCreator编译过程
通过qmake编译pro生成makefile
使用jom(VS)或make(Linux)编译makefile
(1)jom使用uic.exe生成界面源码
(2)jom使用moc.exe生成信号槽代码
代码生成程序经历的步骤
预处理:将头文件和宏生成cpp
编译:将cpp生成.o(Linux)或.obj(VS)
链接:把编译生成的全部文件链接成一个执行文件
执行:运行执行文件
手动执行QtCreator编译过程
创建pro文件
SOURCES += main.cpp #指定源文件,多个文件可用\换行
CONFIG += console #制定为Windows控制台应用程序
在main.cpp里写一个hello程序
创建bat文件
call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" ::指定编译的环境变量
qmake -o makefile testqmake.pro ::通过pro输出为makefile
jom /f makefile.Debug ::指定jom目录为makefile.Debug
如果qmake与jom找不到命令,在系统环境变量中添加相应目录即可
pro常用配置项
QT += widgets #添加QT项目所需要的模块,若项目中要移除某个模块,用QT -= 模块
HEADERS += test.h #指定所需的头文件
INCLUDEPATH += ../../include #指定所需头文件的路径
LIBS += -L../../lib 库名 #指定引入的lib文件的路径
DESTDIR += ../../bin #指定生成目标的路径
TARGET = test #指定生成目标的名称
TEMPLATE = lib #指定生成目标的类型,默认为app
DEFINES += TEST_LIB #实现条件编译
#如
#if defined(TEST_LIB) pro中有TEST_LIB,则为export,没有则为import
# define TEST_EXPORT Q_DECL_EXPORT
#else
# define TEST_EXPORT Q_DECL_IMPORT
#endif
DLLDESTDIR = ../../bin #指定生成库的路径
CONFIG(debug,debug|release){
TARGET = libdll_d
}else{
TARGET = libdll
} #区分debug版本和release版本
win32:
win32{
} #跨平台,可选项有linux、unix、macos,注意{不能换行
win32-g++:
win32-msvc:#指定编译环境
message($$PWD) #在编译信息中输出
$$PWD #引用变量