2017-09-07 197 views
0

我目前正在使用以下庫的項目: SDL2,SDL_ttf,SDL_image,SDL_mixer和CHAI3D。 分別使用庫,代碼完美地在VS2013上運行。但是,當我嘗試在同一個項目中使用這兩個庫時,會出現很多錯誤。我設法通過將其包含& lib文件添加到VC++目錄來設置SDL庫。我嘗試將#include "chai3d.h"添加到我放在chai3d-3.1.0 \ examples .... \ Project \ C++文件下的這個項目中。返回:如何在Visual Studio 2013上正確使用SDL項目設置CHAI3D

致命錯誤C1083:無法打開包含文件: 'chai3d.h':沒有這樣的文件或目錄

所以我增加了屬性>配置屬性> VC++目錄> include目錄包含「chai3d.h」文件的文件夾的路徑(../chai3d/src)。這跳轉到2個以下錯誤:

致命錯誤C1083:無法打開包含文件:「艾根/徵」:沒有這樣的文件或目錄

我找下chai3d這個文件/外部/(艾根/本徵),並把它添加到包含目錄,這涉及:

致命錯誤C1083:無法打開包含文件:「GL/glew.h」:沒有這樣的文件或目錄

注意,註釋包含行或從外部文件夾添加路徑將解決C1083,但會導致未識別chai3d對象,如cHapticDeviceHandler。 這裏是我的日誌的一部分:

錯誤C2062:類型 '浮動' 意外錯誤C2146

錯誤C4430:缺少類型說明符 - 假定爲int。注意:C++不支持默認int

錯誤C2086: '詮釋cVector3d':重新定義見 'cVector3d'

錯誤C2143聲明:語法錯誤:之前 '&' 失蹤 ''

錯誤C2146:語法錯誤:缺少';'標識符 'ch_computeForceSphere'

錯誤C4430:缺少類型說明符 - 假定爲int。注意:C++不支持默認int

錯誤C2086: '詮釋cVector3d':重新定義

錯誤C2143:語法錯誤:之前 '&' 失蹤 '' ...

我非常感謝有關如何解決這個問題的任何提示。

回答

0

因此,我不確定將兩個庫(SDL & CHAI3D)一起使用的有用性,因爲將它們組合起來以獲得有用的代碼似乎太複雜了。然而,一些研究後,我設法找到這樣做的方式:

  1. 首先,你需要建立一個chai3d項目,而不是僅僅通過這個鏈接下的說明使用一個從例子中的文件夾,這是可以做到: CHAI3D: creating an application
  2. 然後,您需要通過在Properties> Configuration Properties> VC++ directories> Include Directories/Library Directorie下添加包含& lib文件的常用方式來設置SDL庫。

  3. 最後補充下屬性>鏈接的依賴>輸入>附加依賴,例如在SDL2的情況下,您將添加如下內容:

SDL2.lib 
SDL2Main.lib 

儘量小心關於SDL路徑以及是否需要:

#include <SDL.h> 
or 
#include <SDL2/SDL.h> 
相關問題