網頁

2018年1月16日 星期二

Point Grey 相機之 FlyCapture 編譯 過程記錄

FlyCapture 有 32 和 64位元兩個版本
32位元安裝在 C:\Program Files (x86)\Point Grey Research\FlyCapture2
64位元安裝在 C:\Program Files\Point Grey Research\FlyCapture2

雖然安裝後有 src, 但因權限的關係,無法直接編譯
另外準備一個目錄 D:\SVN_Repository3\vc\FlyCapture
拷貝 include lib lib64 src_x64 src_x86

build src_x64/Examples_vs2013

雖然是 64位元, 不要改變 Configuration Manager 或 Property Pages 的 Platform 為 x64
雖然可以編譯成功,但是無法執行

VB.Net Examples 的 Project 會產生 Type 'FC2Version' is not defined. 之類的錯誤
開啟 Project 的 Properties 選 References, 可以看到
點選 FlyCapture2Managedd_v120, 在按 Reference Paths
加入目錄 C:\Program Files\Point Grey Research\FlyCapture2\bin64\vs2013
即可解決

CSharp Examples 的 Project 會產生如下的錯誤

開啟 Project 的 Properties 選 Build
改 Output path: bin\Debug\
為 Output path: bin\Debug
即可解決

CSharp Examples 的 Project 還會產生如下的錯誤

開啟 Project 的 Properties 選 Reference Paths 加入目錄
C:\Program Files\Point Grey Research\FlyCapture2\bin64\vs2013\
即可解決

CSharp Examples 的 MultiSyncEx_CSharp_vs2013 Project 還會產生如下的錯誤

點選 MultiSyncEx_CSharp_vs2013/References, 按右鍵選 Add References...
勾選 MultiSyncLibraryManaged_v120.dll 和 FlyCapture2Managed_v120.dll 按 OK
刪除錯誤 References FlyCapture2Managed 和 MultiSyncLibraryManaged
即可解決

C Examples 和 C++ Examples 內的 Project 需要各別 Build
唯一會有錯誤的是 FlyCapture2GUI
修改 FlyCap2CameraControl_ILBridge.h 和 FlyCap2CameraSelection_ILBridge.h
#elif (_MSC_VER == 1800)
#using <..\\..\\bin\\vs2013\\FlyCap2CameraControld_v120.dll>
#using <..\\..\\bin\\vs2013\\FlyCapture2Managedd_v120.dll>
#elif (_MSC_VER == 1700)
#elif (_MSC_VER == 1800)
//#using <..\\..\\bin\\vs2013\\FlyCap2CameraControld_v120.dll>
//#using <..\\..\\bin\\vs2013\\FlyCapture2Managedd_v120.dll>
#using <..\\FlyCap2CameraControl\\bin\\Debug\\FlyCap2CameraControld_v120.dll>
#using <..\\FlyCap2CameraControl\\bin\\Debug\\FlyCapture2Managedd_v120.dll>
#elif (_MSC_VER == 1700)
即可解決

點選 C++ Examples/FlyCap2, 按右鍵選 Set as Startup Project, 嘗試執行, 若產生下列錯誤
是因為 FlyCap2 會用到 FlyCapture2GUI 產生的 FlyCapture2GUId_v120.dll
而 FlyCapture2GUId_v120.dll 會用到 FlyCap2CameraControl 產生的
FlyCap2CameraControld_v120.dll 和 FlyCapture2Managedd_v120.dll
若是刪除 FlyCapture2GUId_v120.dll, 及會使用
C:\Program Files\Point Grey Research\FlyCapture2\bin64\vs2013 目錄下可以執行的程式庫
即可執行,至於什麼原因,就不知道了


沒有留言:

張貼留言