2013-02-01 100 views
8

我剛剛下載OpenNI 2 SDK(www.openni.org),我想安裝一個項目在Visual Studio 2012年 我所做的:OpenNI 2和Visual Studio 2012

  1. 創建一個新的C++ Win32控制檯應用程序項目
  2. 轉到項目> MyProject的屬性,在配置屬性> VC++目錄 ...
  3. 新增C:\ Program Files文件(x86)的\ OpenNI2 \的Redist \;可執行文件目錄
  4. 已添加C:\ Program Files(x86)\ OpenNI2 \ Include \;包含目錄
  5. 已添加C:\ Program Files(x86)\ OpenNI2 \ Redist \;參考目錄
  6. 已添加C:\ Program Files(x86)\ OpenNI2 \ Lib \;庫目錄

但是當我嘗試建立我有以下的未解決的符號錯誤(其中ConsoleApplication1是我的項目的名稱)

Error 1 error LNK2019: unresolved external symbol 
__imp__oniInitialize referenced in function 
"public: static enum openni::Status __cdecl openni::OpenNI::initialize(void)" 
([email protected]@[email protected]@[email protected]@XZ) 
c:\Users\MyPC\documents\visual studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\ConsoleApplication1.obj 
ConsoleApplication1 

我知道這個鏈接錯誤是說,連接器找不到一些圖書館,但我認爲我剛做的就足夠了。

我也試過64位版本,創建一個64位項目,但我有同樣的錯誤。

我無法找到有關此主題的令人滿意的文檔。

我確定我錯過了一些愚蠢的東西。你能否就此提出一些建議?

回答

6

你也應該做下面的步驟:「常規」節點下

0,在C/C++部分,選擇

"Additional Include Directories" 

,並添加

"$(OPENNI2_INCLUDE)" (if you use the 32-bit version) or 
"$(OPENNI2_INCLUDE64)" (if you use the 64-bit version). 

這些環境變量塔t指向OpenNI Include目錄的位置。 (默認值爲:

C:\Program Files\OpenNI2\Include or 
C:\Program Files (x86)\OpenNI2\Include) 

1-在鏈接部分中, 「常規」 節點下,選擇

"Additional Library Directories" 

並添加

"$(OPENNI2_LIB)" (if you use the 32-bit version) or 
"$(OPENNI2_LIB64)" (if you use the 64-bit version). 

這些是指向環境變量OpenNI Lib目錄的位置。(默認值爲:

C:\Program Files\OpenNI2\Lib or 
C:\Program Files (x86)\OpenNI2\Lib) 

2-在鏈接部分中,輸入節點下,選擇

"Additional Dependencies" 

並添加

OpenNI2.lib or OpenNI2.lib 

3-確保添加附加包含和庫目錄同時發送到版本調試配置。

4-將所有文件從OpenNI的redist目錄(請參閱環境變量「$(OPENNI2_REDIST)」或「$(OPENNI2_REDIST64)」)複製到您的工作目錄。 (默認值是

C:\Program Files\OpenNI2\Redist or 
C:\Program Files (x86)\OpenNI2\Redist). 

要知道,當你從命令行中運行,工作目錄是可執行文件可以找到的目錄,並在您從Visual Studio運行默認的目錄是項目文件( .vcproj,.vcxproj)

+0

它的工作直線距離內。非常感謝你。 – SteakOverflow

+0

嗨NKN,在我發佈任何新問題之前,您是否知道爲什麼華碩Xtion只能在Microsoft Kinect相機無法識別的情況下正常工作?謝謝。 – SteakOverflow

+0

我有任何與華碩Xtion實驗,對不起。 – NKN

1

你還需要指向實際的庫文件:openni2.lib

+0

但是這是OpenNI2/lib文件夾 – SteakOverflow

0

如果您將所有選項(包括,Lib,...)添加到您的項目設置並再次出現此錯誤,也許您的項目平臺是Win32並且您想要使用OpenNI x64

在這種情況下,您必須將平臺更改爲x64(頁面頂部的項目屬性)

  • 如果你沒有64選項,使一個新的;)