在 .pro 变量中添加扩展名

Add an extension in a .pro variable

我正在尝试使用 QMake 打印消息,但我遇到了扩展问题:

lib_name = $
message("test1: $$MYPATH/$$lib_name/src/$$lib_name.pri");
message("test2: $$MYPATH/$$lib_name/src/$$lib_name");

出于某种原因,test1 没有打印出正确的路径。它只打印 src/ 之前的路径。但是,test2 没问题。它打印所有内容,直到 $.

中的值

任何解决方法?

QMake 支持带有成员的变量(对象),可以使用点 . 运算符,例如target.path 对于 INSTALLS。因此,在您的情况下,$$lib_name.pri 意味着您正在访问 lib_name 的成员 pri,该成员不存在,因此没有输出。

您需要将变量括在花括号中,以便 QMake 将它们与周围的文本区分开来,即 $${lib_name}.pri

示例:

message("test1: $$MYPATH/$$lib_name/src/$${lib_name}.pri");
#                                       ~~~~~~~~~~~~

有关对象的更多示例,请参阅 Adding Custom Target and Adding Compilers sections of QMake's Advanced Usage 页。

这是另一个相关的 SO 线程:QMake - How to add and use a variable into the .pro file