openFrameworks의 크로스 컴파일 환경 설정 (Mac -> RaspberryPi)
6369 단어 Raspberrypi3openFrameworks
집어넣은 곳만 해설합니다.
실시간으로 사고 팔고 있던 트윗 기록은 여기 에서.
환경
Raspberry Pi 3 Model B with Debian Jessie (이하 RPi3)
Mac OSX 10.10.5
VirtualBox5.1.12
openFrameworks0.9.8 for armv6
개요
최종적으로는 Mac상에서 움직이는 VM에 Debian을 인스톨 해 빌드 환경을 정돈해, RPi상에 있는 oF를 빌드하게 된다.
이를 위해서는 다음 작업이 필요합니다.
1. RPi에 smb 서버를 설치하여 VM에서 마운트할 수 있습니다.
2. VM의 데비안에 oF의 빌드 환경을 정돈한다.
집어 넣은 곳
데비안 라이브
여기 에서 OS 이미지를 다운로드하고 VirtualBox로 만든 Debian64bit의 가상 머신에 읽어 설정을 진행하고 있었지만, 다시 시작하면 설정이 모두 사라졌다.
아무래도 기동해 최초의 메뉴에 있는 Live
그렇다고 안해서, Install
를 선택하지 않으면 안 되는 것 같다.
htps : // 라고 해서 r. 이 m/나리아키이와타에/s타츠 s/811861496531517440
VM의 네트워크 설정
VM->RPi의 접속을 하기 위해서는, 당연히 VM과 RPi가 같은 네트워크상에 없으면 안된다.
VM이 소속하는 네트워크는 VirtualBox에서 설정한다.
할당 : VM과 Mac의 연결 형태 (?). 호스트 전용 어댑터를 선택하라는 정보도 있었지만, 필자의 환경에서는 선택할 수 없었다.
이름 : VM이 Mac의 어느 네트워크 인터페이스에 연결됩니까? 여기를 RPi가 있는 네트워크로 해야 한다. 필자는 Thunderbost Ethernet으로 유선 접속하고 있었기 때문에 이렇게 되었다. 예를 들어 RPi도 Mac도 같은 무선 네트워크에 있다면 en0: Wi-Fi(AirPort)
라든가를 선택하면 좋다.
VM의 데비안에서 ifconfig를 할 수 없다
VM의 데비안 콘솔에는 복사 할 수 없기 때문에 맥에서 터미널을 통해 SSH 연결하고 움직이고 싶지만 그 때문에 데비안의 IP 주소를 알고 싶어서 ifconfig
를 입력하면 command not found
아무래도 패스가 다니지 않았을 뿐이었기 때문에 /sbin/ifconfig
로 해결.
htp // d. 하테나. 네. jp/srk←r/20071004/1191461815
oF 빌드는 가능하지만 실행할 수는 없습니다.
빌드한 프로그램을 make run
하면 locale::facet::_S_create_c_locale name not valid
라는 에러가 나와 떨어진다.
확실히 원인까지 도착하지 않았지만, 이 페이지 에 있는 것처럼, RPi가 SSH 접속될 때에 클라이언트(Mac)와 locale를 맞추려고 하는 것이 원인? 같다.
RPi /etc/ssh_config
의 SendEnv LANG~
행을 주석 처리하여 해결.
htps : // 라고 해서 r. 이 m/나리아키이와타에/s타츠 s/812157918397140992
(2016/12/17 추가) OpenCV 관련 라이브러리를 연결할 수 없음
opencvExample을 빌드하려고하면 실패했습니다.
시행착오 실황은 여기
오류 메시지
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_calib3d.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_contrib.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_core.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_features2d.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_flann.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_gpu.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_highgui.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_legacy.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_ml.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_objdetect.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_ocl.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_photo.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_stitching.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_superres.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_ts.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_video.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_videostab.so: そのようなファイルやディレクトリはありません
정책
VM에는 /usr/lib/arm-linux-gnueabihf/
라는 폴더가 원래 없다.
링커에게 /home/pi/RPI_ROOT/usr/lib/arm-linux-gnueabihf/
를 참조 받는 곳이 골.
대처
최종적으로는 Mac상에서 움직이는 VM에 Debian을 인스톨 해 빌드 환경을 정돈해, RPi상에 있는 oF를 빌드하게 된다.
이를 위해서는 다음 작업이 필요합니다.
1. RPi에 smb 서버를 설치하여 VM에서 마운트할 수 있습니다.
2. VM의 데비안에 oF의 빌드 환경을 정돈한다.
집어 넣은 곳
데비안 라이브
여기 에서 OS 이미지를 다운로드하고 VirtualBox로 만든 Debian64bit의 가상 머신에 읽어 설정을 진행하고 있었지만, 다시 시작하면 설정이 모두 사라졌다.
아무래도 기동해 최초의 메뉴에 있는 Live
그렇다고 안해서, Install
를 선택하지 않으면 안 되는 것 같다.
htps : // 라고 해서 r. 이 m/나리아키이와타에/s타츠 s/811861496531517440
VM의 네트워크 설정
VM->RPi의 접속을 하기 위해서는, 당연히 VM과 RPi가 같은 네트워크상에 없으면 안된다.
VM이 소속하는 네트워크는 VirtualBox에서 설정한다.
할당 : VM과 Mac의 연결 형태 (?). 호스트 전용 어댑터를 선택하라는 정보도 있었지만, 필자의 환경에서는 선택할 수 없었다.
이름 : VM이 Mac의 어느 네트워크 인터페이스에 연결됩니까? 여기를 RPi가 있는 네트워크로 해야 한다. 필자는 Thunderbost Ethernet으로 유선 접속하고 있었기 때문에 이렇게 되었다. 예를 들어 RPi도 Mac도 같은 무선 네트워크에 있다면 en0: Wi-Fi(AirPort)
라든가를 선택하면 좋다.
VM의 데비안에서 ifconfig를 할 수 없다
VM의 데비안 콘솔에는 복사 할 수 없기 때문에 맥에서 터미널을 통해 SSH 연결하고 움직이고 싶지만 그 때문에 데비안의 IP 주소를 알고 싶어서 ifconfig
를 입력하면 command not found
아무래도 패스가 다니지 않았을 뿐이었기 때문에 /sbin/ifconfig
로 해결.
htp // d. 하테나. 네. jp/srk←r/20071004/1191461815
oF 빌드는 가능하지만 실행할 수는 없습니다.
빌드한 프로그램을 make run
하면 locale::facet::_S_create_c_locale name not valid
라는 에러가 나와 떨어진다.
확실히 원인까지 도착하지 않았지만, 이 페이지 에 있는 것처럼, RPi가 SSH 접속될 때에 클라이언트(Mac)와 locale를 맞추려고 하는 것이 원인? 같다.
RPi /etc/ssh_config
의 SendEnv LANG~
행을 주석 처리하여 해결.
htps : // 라고 해서 r. 이 m/나리아키이와타에/s타츠 s/812157918397140992
(2016/12/17 추가) OpenCV 관련 라이브러리를 연결할 수 없음
opencvExample을 빌드하려고하면 실패했습니다.
시행착오 실황은 여기
오류 메시지
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_calib3d.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_contrib.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_core.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_features2d.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_flann.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_gpu.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_highgui.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_legacy.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_ml.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_objdetect.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_ocl.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_photo.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_stitching.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_superres.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_ts.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_video.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_videostab.so: そのようなファイルやディレクトリはありません
정책
VM에는 /usr/lib/arm-linux-gnueabihf/
라는 폴더가 원래 없다.
링커에게 /home/pi/RPI_ROOT/usr/lib/arm-linux-gnueabihf/
를 참조 받는 곳이 골.
대처
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_calib3d.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_contrib.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_core.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_features2d.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_flann.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_gpu.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_highgui.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_imgproc.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_legacy.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_ml.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_objdetect.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_ocl.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_photo.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_stitching.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_superres.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_ts.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_video.so: そのようなファイルやディレクトリはありません
arm-linux-gnueabihf-g++: エラー: /usr/lib/arm-linux-gnueabihf/libopencv_videostab.so: そのようなファイルやディレクトリはありません
OF_ROOT/libs/openFrameworksCompiled/project/makefileCommon/config.project.mk
의 230행을 이하에 옮겨놓는다.OF_CORE_LIBS += $(shell export PKG_CONFIG_DIR=$(PKG_CONFIG_DIR);export PKG_CONFIG_LIBDIR=$(PKG_CONFIG_LIBDIR);export PKG_CONFIG_SYSROOT_DIR=$(PKG_CONFIG_SYSROOT_DIR);$(PLATFORM_PKG_CONFIG) "$(CORE_PKG_CONFIG_LIBRARIES)" --libs)
VM의
/home/pi/RPI_ROOT/usr/lib/arm-linux-gnueabihf/pkgconfig/opencv.pc
의 Libs:
행을 다음으로 바꿉니다.Libs: -L${libdir} -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab
Reference
이 문제에 관하여(openFrameworks의 크로스 컴파일 환경 설정 (Mac -> RaspberryPi)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nariakiiwatani/items/1f9364f048976637b2fb텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)