是否有(微軟專用的)CPP宏來確定我在Visual Studio 2010中使用VC9編譯器而不是Visual Studio 2008? _MSC_VER
返回編譯器版本,所以藉助VS2010多重定位功能,我將得到與VS2008相同的結果。確定何時在VS2010中使用VC90編譯器而不是VS2008?
想知道差異的原因是我創建了一個新的VS2010項目,其中包含從較大項目中刪除的代碼。我剛剛離開了VS2008的東西,因爲我們很快就要離開VS2008,而且我不想經過創建vcproj文件以及新的vcxproj的麻煩。現在,我已經定義了我自己的宏來指示代碼是否被編譯到它自己的DLL中,或者不是;它工作得很好,但如果稍微優雅些,它會很好。
快速測試表明,如果將平臺工具集更改爲** v90 **,則「_MSC_VER」爲「1500」,這是正確的;你沒有看到相同的結果嗎? – 2010-06-14 21:14:16
編譯器本身顯然不知道差別 - 它是同一個編譯器 - 所以你需要一些從外部傳遞給VC9的信息。因此,您的/ D解決方案與任何解決方案一樣優雅。 – MSalters 2010-06-15 09:22:31