先说一下背景。

 

我在pro文件中定义了一个变量,这个变量,pro文件要用,compile.cpp文件也要用。

我就通过DEFINES将这个变量以宏的形式传递给compile.cpp。

但是这样出现了一个问题,每次当我修改pro文件中变量的值的时候,compile.cpp并没有重新编译,导致c++中得到的变量值并不是最新的。

我的需求就是,每当pro文件发生修改时,自动重新编译compile.cpp。

我的思路是,在pro中定义一条依赖关系,让compile.o依赖pro文件,这样就可以解决问题。

实际代码:

 

 
  
  1. Compile.target = $(OBJECTS_DIR)/compile.o 
  2. Compile.depends = $$_PRO_FILE_ 
  3. QMAKE_EXTRA_TARGETS += Compile 

 

全文完。