2013-06-24 38 views
3

我已經發送了一個示例應用程序用於新鑄造的SDK ,而且我無法編譯它 - 由於ATL的原因,它在Visual Studio Express中根本無法編譯,而且這似乎是微軟仍然可用的唯一VS 2010版本。所以我試圖在VS 2012 Professional中編譯它,但它給我錯誤LNK2038。從我可以收集的信息從this thread,問題歸結爲嘗試在2012版中使用爲2010年編譯的.lib文件。由於我不是編譯.lib的人,而且我沒有編寫它的代碼,並且VS 2010無法訪問,所以除非原作者重新編譯它,否則我不確定該怎麼做。有什麼建議麼?我錯過了一些基本的東西?非常感謝您的幫助。在VS 2012(C++)中編譯Visual Studio 2010項目:錯誤LNK2038:爲'_MSC_VER'檢測到不匹配:值'1600'與值'1700'不匹配

+1

http://www.microsoft.com/en-us/download/details.aspx?id=2890 –

+1

如果您擁有VS2012的有效RTM許可證,那麼您還有許可證可使用任何先前版本的VS.因此,請嘗試在VS2010的試用版中輸入您的許可證號碼。從來沒有嘗試過。 –

回答

5

庫文件不能在不同版本的編譯器之間重複使用。您需要執行以下操作之一:

  1. 編譯您的項目時使用的編譯器用於創建您擁有的庫文件。
  2. 從代碼所有者處獲取新的庫文件,使用您現在使用的相同編譯器進行編譯。
  3. 獲取庫的源代碼,並自己編譯它們的新版本。
  4. 重寫你自己的代碼而不依賴於你無法控制的庫,因爲你的編譯環境不允許使用它們。
+0

謝謝你。隨着更多的狩獵,我發現[Visual Studio 2010專業版CNet](http://download.cnet.com/Microsoft-Visual-Studio-2010-Professional/3000-2212_4-10618634.html),所以你的選項1是畢竟可能。 – Oolong

相關問題