跳转到内容
STAGING SERVER
DEVELOPMENT SERVER

如何操作:在 macOS 上使用 CMake 构建基于 pylon 的应用程序#

问题#

如果您为 CMake 手动设置了 pylon include 目录,编译项目时可能会失败并出现以下错误消息:

/Library/Frameworks/pylon.framework/Headers/PylonIncludes.h:23:10: fatal error: 'Base/GCTypes.h'

解决方案#

创建一个 pylon 目录于 /Library/Frameworks/pylon.framework/Headers 并将所有头文件从 /Library/Frameworks/pylon.framework/Headers 复制到新目录中。例如:

cp /Library/Frameworks/pylon.framework/Headers/*.h /Library/Frameworks/pylon.framework/Headers/pylon

然后使用以下模板创建一个 CMakeLists.txt 文件。以下脚本编译了一个“Grab.cpp”代码示例,您可以从此处下载。

cmake_minimum_required (VERSION 2.6)
project (Grab)

# The version number.
set (Tutorial_VERSION_MAJOR 1)
set (Tutorial_VERSION_MINOR 0)

set(CMAKE_CXX_STANDARD 11)

#set(PYLON_LIBRARY_DIR "/Library/Frameworks")
#set(PYLONINCLUDEPATH, "${PYLON_LIBRARY_DIR}/pylon.framework/Headers/")

include_directories(/Library/Frameworks/pylon.framework/Headers/ /Library/Frameworks/pylon.framework/Headers/GenICam/)

#set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl, -E")

set(BESLER_LIBRARIES
 pylonbase
 pylonutility
 GenApi_gcc_v3_1_Basler_pylon_v5_1
 GCBase_gcc_v3_1_Basler_pylon_v5_1
)

link_directories(/Library/Frameworks/pylon.framework/Libraries/)

# add the executable
add_executable(Grab Grab.cpp)
target_link_libraries(Grab ${BESLER_LIBRARIES})

设置以下环境变量,以确保基于 pylon 的应用程序在运行时能够找到 pylon 库。

export DYLD_LIBRARY_PATH="/Library/Frameworks/pylon.framework/Libraries"

要构建测试示例:

  1. 将 Grab.cpp 和 CMakeLists.txt 文件复制到目标系统您选择的目录中。
  2. 创建一个 build 子目录
  3. 将工作目录更改为 build
  4. 使用指定的路径 cmake ...

返回知识库文章