跳至內容
測試伺服器
開發伺服器

如何操作:在 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 ...

返回知識文章