我在一個頭文件中使用我的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