[英]Is there any workaround for MSVC producing `Internal compiler error` for this code?
[英]linker mismatch in msvc version. Is there any workaround for it?
我正在嘗試構建VS 2010開發的c ++代碼
我可以編譯它,但在鏈接期間,我收到此錯誤:
Error 1 error LNK2038: mismatch detected for '_MSC_VER': value '1600' doesn't match value '1700' in myfile.obj
我知道這是因為它們是使用不同版本的MSVC構建的,但有沒有辦法可以將MSVC配置為使用使用舊版MSVC編譯的庫?
編輯1
最后,我決定安裝VS2012 express並用它編譯代碼。 似乎微軟不喜歡你將一個項目從一個版本的MSVC輕松移植到另一個版本。
您有三種解決方案可以解決此問題:
在Project Properties中,選擇General,然后將“Platform Toolset”設置更改為“Visual Studio 2010(v100)”。
MSVC靜態庫在主要版本之間是二進制不兼容的(至少那些使用Microsoft的STL實現的那些):
C ++標准庫實現故意破壞Visual Studio版本之間的二進制兼容性(2005,2008,2010,2012)。 ( 來源 )
你可以:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.