On all platforms, there's a built-in replace function $$cat
:
# set a qmake variable
KEY = "$$cat(/path/to/the/file)"
# propagate the variable to C/C++
DEFINES += "KEY="$$KEY""
The effect of this line is the same as if you added the following line at the beginning of every translation unit (mostly a fancy name for a .cpp
file):
#define KEY <contents of the file>
Suppose that the file contains a single line:
FOO
Then:
// source
qDebug() << KEY;
// preprocessed source
qDebug() << "FOO";
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…