我已經編寫了自己的頭文件來檢查斷言myassert.h,類似於assert.h頭文件,並將其包含在另一個文件中,比如project_file.h。我也有NDEBUG宏,當在包含myassert.h之前定義它時,禁用斷言的檢查。 但是,我不想通過在project_file.h的開頭定義NDEBUG來關閉斷言檢查。相反,我希望在makefile中有一個標誌,這樣在編譯期間,用戶可以設置標誌來自動禁用/啓用斷言檢查功能。 project_file.h文件只是一個巨大項目中的一個文件。任何人都可以請告訴我如何做到這一點?我檢查了其他答案,但我不太明白如何使其工作。如何在生成文件中定義頭文件中的宏
非常感謝。
注意,你想要什麼是很容易做到與CMake的,且易於管理的用戶。 – Caduchon
CMake是一個更高級的跨平臺編譯工具,這不是海報想要知道的。 CMake是一個非常強大的工具,是的,添加變成預處理器定義的選項很簡單,但是海報會)必須學習CMake,而b)不會意識到簡單的命令行語法可用於每個構建系統。 – blockchaindev