好的,我剛剛開始在g ++編譯器中使用-D標誌以不同的方式編譯代碼。g ++ -D標誌添加定義到目標文件
但是我遇到了使用-D標誌編譯一個文件的問題,我需要繼續在後續文件中使用它。
例如,我有2個文件:
sardine.hpp sardine.cpp
和兩個文件具有由密閉部分:
#ifdef PLANKTON
#endif
然後我編譯這個使用:
g++ -c -D PLANKTON sardine.cpp -o sardine.o
如果我再想在另一個編譯中使用這個鏈接,爲了代碼的工作,我將不得不再次使用D標誌(據我所知),例如:
g++ -D PLANKTON tuna.cpp sardine.o -o tuna
有沒有辦法在編譯時永久添加一個定義?這樣我下一次編譯時就不必添加-D標誌了?
對不起,如果我錯過了什麼:「(
感謝
寫的makefile 。 –
每個編譯過程完全獨立於其他任何一個。當編譯器解析.cpp源文件時,它只能處理特定實例具有的信息。正如其他人所說,您可能想要考慮使用make或其他編譯系統來更好地管理編譯設置。你也可以把'#define PLANKTON'放到它們都包含的共享頭文件中,然後在重建之間修改它,這樣可以讓你的命令行更簡單。 – notmyfriend
@notmyfriend啊,包括共同標題中的定義可能是要走的路。 Darn過於專注於讓-D標誌正常工作:P,謝謝! – Liang