記錄下比賽前20多天調試時遇到的問題、解決方法和體會函數
1:OpenNI驅動的安裝測試
一般會按以下順序進行安裝:spa
1 OpenNI-Win32-1.3.2.1-Dev.msi調試
2 avin2-SensorKinect-0e5a176\Bin\SensorKinect-Win-OpenSource32-5.0.3.3.msiblog
3 NITE-Win32-1.4.0.5-Dev.msi進程
4 Sensor-Win32-5.0.3.3-Redist.msi內存
安裝完後通常經過打開C:\Program Files\OpenNI\Samples\Bin\Release下的demo進行測試安裝是否正確,此時會遇到的一個問題是:資源
顯示說明是關於OpenNI.dll的問題編譯
解決方法:將C:\Program Files\OpenNI\Bin下的OpenNI.dll複製到C:\Windows\System32下便可class
注意複製時會提醒要替換原先就在C:\Windows\System32下的OpenNI.dll
2:System32相關
System32是系統文件裝載的地方,相關的驅動,要加載的系統服務都是從system32中開始的,所以當用VS進行代碼編寫和調試,當遇到缺乏某某文件時,只要把相關文件拷貝到該目錄下便可。
3:dll
動態連接庫英文爲DLL,是Dynamic Link Library 的縮寫形式,DLL是一個包含可由多個程序同時使用的代碼和數據的庫,DLL不是可執行文件。動態連接提供了一種方法,使進程能夠調用不屬於其可執行代碼的函數。函數的可執行代碼位於一個 DLL 中,該 DLL 包含一個或多個已被編譯、連接並與使用它們的進程分開存儲的函數。DLL 還有助於共享數據和資源。多個應用程序可同時訪問內存中單個DLL 副本的內容。DLL 是一個包含可由多個程序同時使用的代碼和數據的庫。
4:lib
LIB有兩種,一種是靜態庫,好比C-Runtime庫,這種LIB中有函數的實現代碼,通常用在靜態連編上,它是將LIB中的代碼加入目標模塊(EXE或者DLL)文件中,因此連接好了以後,LIB文件就沒有用了。一種LIB是和DLL配合使用的,裏面沒有代碼,代碼在DLL中,這種LIB是用在靜態調用DLL上的,因此起的做用也是連接中用,連接完成了,LIB也沒用了。至於動態調用DLL的話,根本用不上LIB文件。 目標模塊(EXE或者DLL)文件生成以後,就用不着LIB文件了。
5:PATH路徑
環境變量的變量值都是一些應用程序所在的目錄,設置環境變量的目的是使這些程序能夠在任何目錄中被調用,這種方法在DOS這樣的命令窗口中做用更明顯。如path,當要求系統運行一個程序而沒有告訴它程序所在的完整路徑時,系統除了在當前目錄下面尋找此程序外,還會到path中指定的路徑去找。
StevenMeng
2013.8.24