会挽雕弓如满月,西北望,射天狼
全部博文(14)
分类: LINUX
2015-06-18 17:51:00
Qmake 编写pro 常用参数
MOC_DIR=./moc
指定moc文件存放路径
OBJECTS_DIR=./obj
指定.o 文件路径
QMAKE_CXXFLAGS += -g
g++ 编译添加 –g 选项,增加调试信息
QMAKE_CFLAGS += -g
gcc 编译添加 –g 选项,增加调试信息
手动编写makefile时,应从系统层面考虑,编译时务必自顶向下编译各个子目录,禁止将各个模块分别编译,手动拷贝执行文件
使用参数 “-C”,eg.
make –C tools
# 编译子目录tools
make clean–C tools #清除子目录tools
. PHONY
显式请求时执行命令的名字, eg.
all: tool #命令名所包含子模块
.PHONY clean:
clean: tool_clean
tool_clean: #子模块的具体编译内容
make clean
-C tools
tool:
参数 “-o”生成指定Makefile的名字
Eg.
qmake
seisFlwo.pro -o Makefile_pro –r
根据pro文件在各个子目录生成Makefile,命名为 Makefile_pro
make -f Makefile_pro
编译seisFlwo.pro内所包含的所有的Makefile
*******************************************************************************************************
.PHONY all: #编译时执行命令,缺省为all
参数 "-j"
多核编译,适用于多核处理器,
查看cpu信息确定核数,"cat /proc/cpuinfo"
运行命令 make -j 核数+1 , 加快编译速度
参数 "-s", 不打印编译信息
参数 "-f ",编译 指定makefile,默认编译Makefile和makefile文件,eg, make -f mymakefile
编程原则
禁止使用绝对路径
尽量不用相对路径
使用环境变量,提高代码可移植性
qmake的pro中获取方式 $$(PROJECTDIR)
cmake 中的获取方式 $ENV{PROJECTDIR}
c程序中获取方式 getenv("PROJECTDIR")
shell脚本中获取方式 ${BASE_PATH}
python程序中获取方式
import os
os.getenv("PROJECTDIR")