방법: 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"
테스트 샘플을 빌드하려면:
- Grab.cpp와 CMakeLists.txt 파일을 대상 시스템의 원하는 디렉터리로 복사합니다.
- build 하위 디렉터리를 생성합니다.
- 작업 디렉터리를 build로 변경합니다.
- 호출
cmake ...