2014-11-25 53 views
0

我開始玩弄OGRE並下載它。我使用MS Visual Studio 2013 Express。我看到VS2013沒有SDK,所以我下載了VS2012。然後我下載了Tutorial Framework,設置了像this這樣的項目並試圖編譯它。C++ OGRE3D VS2013:錯誤LNK2038:爲'_MSC_VER'檢測到不匹配:值'1700'與值'1800'不匹配

但是,它沒有鏈接。它給出了一個錯誤「LNK1104:無法打開文件'libboost_thread-vc120-mt-gd-1_55.lib'」。我試圖從SO中找到解決方案,並且我找到了one並進行了測試。我更改了所有的libboost_*-vc110-mt-gd-1_55.lib,將它們粘貼到同一目錄並將它們重命名爲libboost_*-vc120-mt-gd-1_55.lib

這可以解決第一個問題,但它給了另一個問題,我現在要問的是什麼問題。我知道這意味着我正在使用MSVC的錯誤版本編譯的庫文件。我找不到真正的libboost_*-vc120-mt-gd-1_55.lib

有什麼建議嗎?

+1

Visual Studio C++編譯的二進制文件不能跨版本鏈接,因爲它們依賴於特定版本的運行時。 C ABI保持不變,但依賴於C++的事物在這一點上沒有穩定的ABI。 – PeterT 2014-11-25 12:51:42

回答

3

由於錯誤消息指出您正在使用不兼容的二進制版本。你不能簡單地mix'n'match(既不提升庫也不Ogre二進制文件)。

下載升壓正確的二進制文件應該有所幫助:Boost pre-built VS2013

Ogre用於在Windows上最靈活的,並且很容易的選擇卻是簡單的編譯食人魔自己。如果不需要它,甚至可以通過CMake禁用以完全通過CMake進行集成。

相關問題