调用Parent .pro文件中定义的自定义QMake函数

bal*_*erc 5 qt qmake

我已经定义了一个简单的qmake函数,如下所示:

defineReplace(generateBoilerPlate){        
     message("Generating boiler plate code...")
}
Run Code Online (Sandbox Code Playgroud)

我的项目按以下层次方式排列:

ProjectDir
    ProjectName.pro
    ModuleName1SubDir
         ModuleName1.pro
    ModuleName2SubDir
         ModuleName2.pro
Run Code Online (Sandbox Code Playgroud)

我在ProjectName.pro中定义了上述自定义函数

我可以使用以下方法在ProjectName.pro中成功调用此函数:

out = $$generateBoilerPlate()
Run Code Online (Sandbox Code Playgroud)

但是,我希望能够从模块子目录中的.pro文件中调用自定义函数'generateBoilerPlate'(即在上面的示例中,我想调用ModuleName1.pro和ModuleName2.pro中的函数).

当我尝试调用子模块的.pro文件中的函数时,我收到以下错误:

 'generateBoilerPlate' is not a recognized replace function.
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何实现我想要的吗?

Max*_* Go 6

作为可能的解决方案,您可以在单独的.pri文件中定义函数,并在需要使用函数时包含.pro文件中.