@breakerthb
2017-05-09T12:13:25.000000Z
字数 1831
阅读 3977
Linux
ref: http://blog.csdn.net/jinzeyu_cn/article/details/45790457
ref : http://www.cnblogs.com/Braveliu/p/5107550.html
TEMPLATE = app
TARGET = abc.exe
TEMPLATE = lib
TARGET = boost
生成的目标文件为:libboost.so
TEMPLATE = lib
CONFIG += staticlib
TARGET = boost
生成的目标文件为:libboost.a
TEMPLATE = subdirs
SUBDIRS = \
abc\
bcd\
CONFIG += warn_on debug # 打印编译警告
CONFIG += release
指定目标文件(obj)的存放目录
OBJECTS_DIR += ../tmp
程序编译时依赖的相关路径
DEPENDPATH += . forms include qrc sources
头文件包含路径
INCLUDEPATH += .
定义编译选项,相当于.h中的#define
DEFINES += XX_XX_XXX
如:
DEFINES += ABC
之后在编译时会出现
g++ abc.c -DABC
引用库文件
LIBS += -L XX/XX -lx -lxx
包含路径和库文件名都写在这里。
-l 有先后顺序。原则是左边依赖右边。
如:
liblogger.so -> libboost_log.so : -L. -llogger -lboost_log
QMAKE_CXXFLAGS += -std=c++11
DESTDIR = ../libs
或者
DESTDIR = $$_PRO_FILE_PWD_/../lib
前者指定的是编译目录中的相对路径,后者指定的是代码目录中pro文件的上层目录。
$$_PRO_FILE_PWD_变量表示当前pro文件所在的目录。
$$_PRO_FILE_PWD_ : 当前pro文件所在路径
$$(PATH) : qmake的环境变量
在pro文件中,如果需要打印某个变量的值,可以使用message命令,如:
message($(PATH))
message($$_PRO_FILE_PWD_)
message("abcd")
在Qt Creator工程右键->"Run qmake"可以在"Compile Output"中看到这些信息
在pro文件里,可以使$$varname
或者$${varname}
来访问自己定义的变量,如
myversion = 1.2
file = 1.cpp
target = improve$${myversion}
sources = $$file
pro文件里,访问环境变量的用法是:$[varname]
Makefile可以像这样由“.pro”文件生成:
qmake -oMakefile hello.pro
对于VisualStudio的用户,qmake也可以生成“.dsp”文件,例如:
qmake -tvcapp -o hello.dsp hello.pro
QT -= core gui # 不使用QT库参与编译
TARGET = abc.exe
TEMPLATE = lib #固定写法
CONFIG += staticlib #静态库固定写法
#DEFINES +=
DESTDIR = $$_PRO_FILE_PWD_/../lib
SOURCES += \
ostatic.cpp \
odebugoutput.cpp
HEADERS += omisc.h \
ostatic.h \
ostringmap.hpp \
odebugoutput.h
unix:!symbian {
maemo5 {
target.path = /opt/usr/lib
} else {
target.path = /usr/lib
}
INSTALLS += target
}
QT -= core gui
TEMPLATE = lib
TARGET = interface
DESTDIR = ../libs
QMAKE_CXXFLAGS += -std=c++11