Qt工程资料中添加其它工程

Qt工程文件中添加其它工程

需求:

我开发了一个输入法程序,其它程序如果要使用输入法,就会调用输入法。

 

举例:

输入法源程序

kbinput.pro
inputmethod.h
inputmethod.cpp
keyboard.h
keyboard.cpp

需要调用输入法的其他程序

sms.pro
main.cpp
sms.h
sms.cpp

 假设这两个程序位于同一级目录,初期测试时,不得不这样改写sms.pro 

HEADER += sms.h \
                   ../kbinput/inputmethod.h \
                   ../kbinput/keyboard.h 
SOURCE += sms.cpp \
                    main.cpp \
                    ../kbinput/inputmethod.cpp \
                    ../kbinput/keyboard.cpp                   

 

思路:

要求使用输入法的程序在自身的.pro文件中这样把输入法的源程序全部逐条添加进去,不合理。

理想的思路应该是只加入输入法程序的.pro文件,因为其中已经包含了输入法的全部源程序。

 

解决方案:

将要求使用输入法的程序的.pro文件作如下改造

DEPENDPATH += ../kbinput
INCLUDEPATH += ../kbinput

include(../kbinput/kbinput.pro)

 

include是Qt的工程文件中的内建函数,其参数是文件名,该参数文件中的内容会包含在工程文件中,位置即include出现的地方。

请参考qmake Project Files的文档:

http://doc.trolltech.com/4.1/qmake-project-files.html