コンテンツにスキップ
ステージングサーバー
開発サーバー

macOS上でCMakeを使用してpylonベースのアプリケーションを構築する方法#

問題#

CMakeのpylonインクルードディレクトリを手動で設定した場合、プロジェクトのコンパイル時に次のようなエラーメッセージが表示されることがあります:

/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 ...

ナレッジ記事に戻る