---------QT项目构建过程
1、设置环境变量
CROSS_COMPILE=arm-linux-gnueabihf-
LD_LIBRARY_PATH加入$QTDIR/lib
PATH加入$QTDIR/bin
2、通过qmake(编写项目的.proc)文件) 生成makefile
3、make 执行makefile构建
.proc文件重要参数
qt包含库
#DEFINES += QT_NO_DEBUG_OUTPUT
QT += core
QT += network
QT -= gui
QT += serialport
目标程序名称
TARGET = XXX
CONFIG += console
CONFIG -= app_bundle
头文件、库文件引入
INCLUDEPATH += ../libXXX/inc/ \
./XXXX
LIBS += ../libXXXX/dist/libXXXX.a
是否生成调试信息-g
#QMAKE_CXXFLAGS += -g
生成makefile的类型是为了生成一个二进制程序,而非库文件
TEMPLATE = app
备注:参数识别
app - 建立一个应用程序的makefile。这是默认值,所以如果模板没有被指定,这个将被使用。
lib - 建立一个库的makefile。
vcapp - 建立一个应用程序的Visual Studio项目文件。
vclib - 建立一个库的Visual Studio项目文件。
subdirs - 这是一个特殊的模板,它可以创建一个能够进入特定目录并且为一个项目文件生成makefile并且为它调用make的makefile。
编译的头文件和cpp文件集合
# Input
HEADERS += basicitem.h \
SOURCES += basicitem.cpp \
main.cpp \
其他参数列表:
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需要:应用程序所要连接的资源文件。
---------QT项目构建过程
其他信息
--------reinterpret_cast c++强制转换
reinterpret_cast 用于进行各种不同类型的指针之间、不同类型的引用之间以及指针和能容纳指针的整数类型之间的转换。转换时,执行的是逐个比特复制的操作。
--------ps -A |grep XXX查看进程信息
--------pstree -n 1635 查看进程所有子进程信息
---------进程运行输出终端日志
app "$@">/var/log/logXXX.log 2>&1 &