跳至內容

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 作業系統時,必須分別下載、編譯和安裝驅動程式。請遵循 INSTALL Linux 驅動程式套件中的文件,以取得有關如何編譯和安裝驅動程式的詳細資訊。

使用 Microsoft Visual Studio#

使用 Microsoft Visual Studio 時,您可以從新專案開始,並從「Visual C++」類別中選取「空白專案」範本。若要在將產生的專案中使用程式庫,首先應將目錄 %BASLER_FG_SDK_DIR%\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}
)

搭配 Microsoft Visual Studio 使用 CMake#

專案檔案看起來可能像這樣: CMakeLists.txt 若要處理檔案

cmake -G "Visual Studio 15 2017 Win64" .

搭配 make 使用 CMake#

以產生適用於 Microsoft Visual Studio 的專案,您可以使用 GUI 工具,或者透過在命令列中輸入以下指令來產生專案檔案: Makefile 若要針對使用 make的建置工作流程產生

cmake -G "Unix Makefiles" .