Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
870 views
in Technique[技术] by (71.8m points)

qt - How to read file content into a qmake variable and pass it to the compiler?

How to read file content into a variable in qmake project file? For example, I'd like to have the contents of KEY read from a file and pass it to the compiler:

DEFINES += KEY=**some magic and filename here**
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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";

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...