2014-02-06 33 views
0

我正在測試應用程序中開發XCode中的靜態庫。通過將庫項目拖放到測試應用程序項目中,然後將庫添加到測試應用程序項目構建階段,我可以同時處理測試應用程序和庫。 。將應用程序預處理器信息轉發到靜態庫

enter image description here

有沒有辦法從試驗應用到庫的預處理程序的標誌嗎?例如,我曾嘗試將標誌MY_DEBUG_FLAG添加到測試應用程序項目中,然後添加到我添加的靜態庫頭中。 。 。

#if defined(MY_DEBUG_FLAG) 
#define MY_DEBUG_FLAG_USED 
#endif 

...但是,庫中的#ifdef MY_DEBUG_FLAG_USED塊將被忽略。我總是可以將這個標誌添加到庫和應用程序項目中,但這是一個令人討厭的重複,我想盡可能避免這種重複。我希望我的目標很明確,如果有人有任何建議,我會對完全不同的成語開放。

回答

1

由於按照定義進行預處理是在編譯之前執行的,因此無法將預處理器標誌傳遞到編譯庫。

你可以做的是向庫中添加一組變量,它可以在運行時檢查,並將它們設置爲應用程序中的相關值,或者讓庫提供啓用或禁用它的不同方面的功能。

相關問題