跳转到内容

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.

Framegrabber API 随附用于支持 CMake 的文件 FIND_PACKAGE 命令。给定源代码文件 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 要为 Microsoft Visual Studio 生成项目,既可以使用 GUI 工具,也可以通过在命令行中输入以下内容来生成项目文件:

cmake -G "Visual Studio 15 2017 Win64" .

配合 make 使用 CMake#

要生成 Makefile 用于使用以下工具的构建工作流 make,可以在命令行中输入以下内容:

cmake -G "Unix Makefiles" .