我有一個用於生產代碼和測試代碼的靜態庫。我希望只有在構建測試.exe時才能夠注入測試數據。我想使用預處理器#defines而不是MSVS配置(例如,Debug vs. Release)來執行此操作,因爲我正在測試性能。調試版本會關閉優化,這在調試過程中很好,但當我想要測試性能時不是那麼好。Visual Studio 2010 - 試圖有條件地編譯基於目標.exe的靜態庫
舉個例子,假設我有MSVS中的Foo.lib,Production.exe和Test.exe項目。 Production.exe和Test.exe都鏈接Foo.lib。我希望Production.exe和Test.exe用它們各自的預處理器定義重建Foo.lib,所以Foo.lib中的代碼將根據它的目標可執行文件進行有條件編譯。
我願意接受其他解決方案,我希望我能清楚地說明我的問題。首先發布堆棧溢出。
謝謝,安德魯。你的回答回答我的問題。我仍然會看看漢斯發佈的看似更好的解決方案。 – Bill 2011-03-17 18:35:27