• 6207阅读
  • 4回复

求qmake的两个变量的意思 [复制链接]

上一主题 下一主题
离线supercyper
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-25
DEPENDPATH和VPATH到底有什么用呢,看了manual还是不理解,求高手解释,多谢了
离线wd007

只看该作者 1楼 发表于: 2009-11-25
我的理解,DEPENDPATH的大意就是程序中所有依赖的库的所在地,应用程序可以通过搜索这个变量所指出的目录来查找依赖是否存在。如果你熟悉VC的话,我觉得和VC里面的含义差不多。
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线wd007

只看该作者 2楼 发表于: 2009-11-25
VPATH在qmake中的解释是如下:

This variable tells qmake where to search for files it cannot open. With this you may tell qmake where it may look for things like SOURCES, and if it finds an entry in SOURCES that cannot be opened it will look through the entire VPATH list to see if it can find the file on its own.

我觉得意思大致是这样。举个例子,如果你要打开的文件类型是VC所不支持解析的格式,那么就告诉它文件存放的路径,它可以找到。
欢迎访问我的博客,一起学习提高
http://blog.csdn.net/qter_wd007
离线dbzhang800

只看该作者 3楼 发表于: 2009-11-25
VPATH 和 DEPENDPATH 这两个太难区分了。

我在linux下试了一下,结果如下:(估计比较片面,差异在头文件的处理上)

假定你的工程的目录结构如下,两个 cpp文件都包含 xxx.h 文件
  1. ./xx,pro
  2. ./main.cpp
  3. ./src/xxx.cpp
  4. ./src/xxx.h


如果 pro 文件内是
  1. DEPENDPATH += src
  2. SOURCES += main.cpp xxx.cpp
  3. HEADERS += xxx.h

那么只要 xxx.h 被修改,make时 两个 cpp文件都会被重新编译
  1. main.o : main.cpp src/xxx.h
  2. xxx.o : src/xxx.cpp src/xxx.h


如果 pro文件内是
  1. VPATH += src
  2. SOURCES += main.cpp xxx.cpp
  3. HEADERS += xxx.h

即使 xxx.h 被修改,make 也不会重新编译 main.cpp
  1. main.o : main.cpp
  2. xxx.o : src/xxx.cpp src/xxx.h
离线supercyper
只看该作者 4楼 发表于: 2009-11-26
引用第3楼dbzhang800于2009-11-25 23:46发表的  :
VPATH 和 DEPENDPATH 这两个太难区分了。
我在linux下试了一下,结果如下:(估计比较片面,差异在头文件的处理上)
假定你的工程的目录结构如下,两个 cpp文件都包含 xxx.h 文件
.......

初步了解了,多谢楼上的高手和楼上上的高手
快速回复
限100 字节
 
上一个 下一个