我在一个头文件中使用我的C++代码中的SKELETON_JAR
变量。但是,我想让用户在编译时容易定义jar的位置。我认为最简单的方法是将这个定义放在makefile中是这样吗?C++预处理器变量
#define SKELETON_JAR "./Util.jar"
我在一个头文件中使用我的C++代码中的SKELETON_JAR
变量。但是,我想让用户在编译时容易定义jar的位置。我认为最简单的方法是将这个定义放在makefile中是这样吗?C++预处理器变量
#define SKELETON_JAR "./Util.jar"
在您的代码:
#ifndef SKELETON_JAR
#define SKELETON_JAR "./Util.jar" // default path
#endif
然后在makefile中使用CPPFLAGS:=-DSKELETON_JAR="./Util.jar"
。
当然,如果使用默认隐式规则,则必须确保CPPFLAGS
作为编译规则的一部分传递给编译器。
的指令作出编译C程序
没有自动地从NC与表单'$(CC)$ -c(CPPFLAGS)$(CFLAGS)”
根据您的编译器,正常的方法是在makefile中使用编译器的-D标志。例如:
MYFLAGS = -DSKELETON_JAR = “foo” 的
再后来:
GCC $(MYFLAGS)$(OTHER_STUFF)
对于downvoter - 这个答案的哪一点是不正确的? – 2009-12-11 11:39:12
想知道同样的事情 – 2009-12-11 11:43:30
有些人只是喜欢倒推我猜。我可能会简单地描述-D
使用相同的编译标志并在Makefile中定义标志。
什么是您的构建环境?你的OS? – 2009-12-11 17:53:12