跳至內容

Framegrabber API 先決條件#

若要使用 Framegrabber API 編寫程式,需要一組用於編譯和連結以 C/C++ 編寫之程式的工具。在 Microsoft Windows 上,Framegrabber API 隨附對 Microsoft C/C++ 編譯器工具鏈的支援,且在大多數專案中都會使用 Microsoft Visual Studio 整合開發環境 (IDE)。

當使用 Linux 作業系統時,支援 GNU C/C++ 與 Clang 編譯器工具鏈。這些通常可以使用 Linux 發行版本身附帶的套件管理員來安裝。請參閱 Linux 發行版的說明文件、特定的線上論壇與社群。

本文件中的程式碼範例通常假設將會使用至少支援 C++11 標準的現代 C++ 編譯器。如果需要嚴格的 C 編譯,請參閱使用純 C 時的注意事項章節以取得更多資訊。

環境#

安裝 Framegrabber SDK 時,通常會在系統中註冊環境變數 BASLER_FG_SDK_DIR ,其在後文中將用於表示 Framegrabber SDK 的安裝位置。

如果使用的是 Linux 作業系統,則指令碼 setup_siso_env.sh 將會設定環境變數,並且可以由系統管理員新增至啟動指令碼中。由於不同發行版所使用的啟動方式各有差異,因此這並不會自動完成。如果系統啟動或使用者登入時未自動呼叫該指令碼,您必須手動 source 該指令碼,以便編譯和執行使用 Framegrabber API 的應用程式。

作業系統驅動程式#

Framegrabber API 需要作業系統驅動程式來存取安裝在電腦中的擷取卡。在 Microsoft Windows 上,可以使用 Framegrabber SDK 安裝程式來安裝驅動程式。當使用 Linux 作業系統時,必須分別下載、編譯和安裝驅動程式。請遵循 Linux 驅動程式套件中的 INSTALL 文件,以取得有關如何編譯和安裝驅動程式的詳細資訊。

使用 Microsoft Visual Studio#

當使用 Microsoft Visual Studio 時,您可以從新專案開始,並從「Visual C++」類別中選取「Empty Project」範本。若要使用將會產生的專案中的程式庫,首先應將目錄 %BASLER_FG_SDK_DIR%\include 新增至編譯器所使用的 Include 路徑中。

資訊

務必確保目標平台與您正在使用的 Framegrabber SDK 平台相符。對於 Framegrabber SDK 而言,它一律是 64 位元。

編譯器設定

接下來,應將目錄 %BASLER_FG_SDK_DIR%\lib\visualc 新增至連結器所使用的程式庫路徑中。

連結器設定

若要在 Microsoft Visual Studio 專案中連結程式庫,必須將其新增至連結器設定中的相依性。在以下範例中,程式庫 fglib5.lib 已新增:

連結器設定

若要新增相依性,您可以按一下 下拉式選單 按鈕,然後選擇 <Edit...>.

使用 Linux#

當使用 Linux 作業系統以及 gcc 或 clang 編譯器時,參數 -I $BASLER_FG_SDK_DIR/include 會將 Framegrabber API 包含目錄新增至編譯器設定,而參數 -L $BASLER_FG_SDK_DIR/lib 會將 Framegrabber API 程式庫目錄新增至連結器設定。

當使用 gcc 或 clang 編譯器連結至程式庫時,會使用參數 -l 。例如, -l fglib5 會將程式庫 libfglib5.so 新增至連結器相依性。給定原始程式碼檔案 main.cpp,若要將檔案編譯並連結至執行檔 SimpleExample,可以在命令列中輸入以下指令:

g++ -o SimpleExample -I $BASLER_FG_SDK_DIR/include -L $BASLER_FG_SDK_DIR/lib -l fglib5 main.cpp

使用 CMake#

CMake 是一個工具,可以從許多整合開發環境 (IDE)(例如 Microsoft Visual Studio)的專案需求簡單文字描述產生專案檔案,同時也支援使用 make.

等工具的建置工作流程。 FIND_PACKAGE Framegrabber API 隨附了支援 CMake main.cpp指令的檔案。給定原始程式碼檔案 CMakeLists.txt ,用於將檔案編譯並連結至執行檔之專案的簡單 SimpleExample 檔案可能如下所示:

PROJECT(SimpleExample)

FILE(TO_CMAKE_PATH "$ENV{BASLER_FG_SDK_DIR}" BASLER_FG_SDK_DIR)
LIST(APPEND CMAKE_MODULE_PATH "${BASLER_FG_SDK_DIR}/cmake/modules")

FIND_PACKAGE(FgLib5 REQUIRED)

INCLUDE_DIRECTORIES(
    ${FgLib5_INCLUDE_DIR}
)

SET (PRJ_SOURCES
    SimpleExample.cpp
)

ADD_EXECUTABLE(${PROJECT_NAME} ${PRJ_SOURCES})

TARGET_LINK_LIBRARIES(${PROJECT_NAME}
    ${FgLib5_LIBRARIES}
)

將 CMake 與 Microsoft Visual Studio 搭配使用#

若要處理檔案 CMakeLists.txt 以產生適用於 Microsoft Visual Studio 的專案,您可以選擇使用 GUI 工具,或者在命令列中輸入以下內容來產生專案檔案:

cmake -G "Visual Studio 15 2017 Win64" .

將 CMake 與 make 搭配使用#

若要針對使用 Makefile 的建置工作流程產生 make,可以在命令列中輸入以下內容:

cmake -G "Unix Makefiles" .