我在一个 header 中的 C++ 代码中使用了 SKELETON_JAR
变量。但是,我想让用户在编译时轻松定义 jar 的位置。我认为最简单的方法是将此定义放在 makefile 中,是这样吗?
#define SKELETON_JAR "./Util.jar"
最佳答案
在您的代码中:
#ifndef SKELETON_JAR
#define SKELETON_JAR "./Util.jar" // default path
#endif
然后在 makefile 中使用 CPPFLAGS:=-DSKELETON_JAR="./Util.jar"
。
当然,您必须确保 CPPFLAGS
作为编译规则的一部分传递给编译器,如果您使用默认的隐式规则,情况就是如此。
Compiling C programs
n.o is made automatically from n.c with a command of the form `$(CC) -c $(CPPFLAGS) $(CFLAGS)'
关于C++ 预处理器变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1887464/