mruby에서 Qt를 부른다.
2284 단어 Qtqtbindingsmruby
기본적으로 qtbindings(유지 관리가 계속되고 있는 QtRuby의 포크)를 mruby에 이식한 것입니다만, mruby에 표준이 아닌 것 같은 메소드나 모듈을 사용하고 있는 ruby 코드를 C++로 옮겨놓고 있습니다. 그 관계에서 C++11을 사용하고 있기 때문에 빌드할 때 약간 까다롭습니다.
우선 빌드 절차이지만 갑자기 일반 mruby에서는 빌드할 수 없습니다. mruby에서는 ruby처럼 RData에 독자적인 gc 마커를 사용할 수 없으므로 내 mruby 저장소의 rdata_gc_marker 브랜치 을 사용해야합니다. 우선, 의사 쉘 스크립트로 빌드하는 방법을 씁니다.
# 以下に進む前にqt qscintillaのsmokeパッケージをインストールします。その2つがインストールできれば、Qtのパッケージも自動的にインストールされるはずです。
export CXX="ccache clang++ -std=c++11" # 適当なC++11を使えるコンパイラを指定します。
cd 適当なディレクトリ/
git clone --branch mruby "https://github.com/take-cheeze/qtbindings.git"
cd qtbindings/
git clone --branch rdata_gc_marker "https://github.com/take-cheeze/mruby.git"
./build.sh
환경에 따라서는, 이 인스톨 순서로 빌드 할 수 없는 경우가 있기 때문에 그 때는, build.sh 나 build_config.rb 를 편집해 주세요. 또, DBus나 QScintilla가 불필요한 경우는 qtbindings/mrbgem.rake 로 그들 2개에 관계 있는 부분을 지워 주세요.
이제 build.sh 실행이 끝나면 qtbindings/mruby/bin/mruby가 지정된 적절한 디렉토리 아래에 빌드 될 수 있습니다.
그런 다음 실행 중인지 확인하기 위해 실행 파일에서 qtbindings/examples/minimal.rb 를 실행합니다. "Hello World!"라고만 표시하는 창이 나올 뿐의 스크립트이므로, 그 눈으로 "Hello World!"를 확인해 주세요. 아래와 같은 창(OS X에서 실행한 경우입니다)이 표시되면 성공입니다. 덧붙여서 창의 닫기 버튼을 누르면 제대로 종료합니다.
건간 생성되는 디버그 로그가 대략적이면 스크립트의 시작 부분에 다음 행을 추가하십시오. 아직 개발 도중이므로 디폴트 상태라면 생성할 수 있는 최대의 양을 생성합니다. 로그를 조금 더 제한하려면 qtbindings/mrblib/_qtruby.rb에 있는 DebugChannel 모듈의 플래그로 조정할 수 있습니다.
Qt::Internal.debug = 0
이상이 현재의 mruby-qt를 빌드하고 일단 움직일 때까지의 순서입니다. 내부의 구조 등은, 추후 기사로 할 수 있으면 좋겠습니다.
Reference
이 문제에 관하여(mruby에서 Qt를 부른다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/take_cheeze/items/862d1b6b046893dda2f5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)