Qt를 처음 사용하고 크로스 컴파일 및 포팅을하므로 나와 함께하시기 바랍니다.Qwt 라이브러리를 게임 북에 이식하기
내 목표는 Qt 기반 응용 프로그램을 위해 Playbook OS에서 Qwt library을 사용하는 것입니다. Qt for Blackberry Playbook에 관한 좋은 튜토리얼을 발견했으며 간단한 Qt "Hello World"애플리케이션을 내 태블릿에서 실행시킬 수있었습니다.
내 다음 단계는 Qwt 라이브러리를 만들어 내 응용 프로그램에서 사용하는 것입니다. 나는 약간의 시간을 qmake에 대해 읽는 데 보냈고 문제없이 응용 프로그램과 함께 라이브러리를 만들었지 만 응용 프로그램을 실행할 때 곧 실행됩니다. 여기
내가 라이브러리와 내 응용 프로그램을 모두 구축했다 단계는 다음과 같습니다- 는 Qwt의 소스를 다운로드하고 RIM's Qt port와 함께 제공되는 qmake를 사용했다. 참조 용 : Qt 포트를 설치할 때 "stage" 디렉토리가 생성되고 qmake는
~/stage/nto/armle-v7/usr/lib/qt4/bin/qmake
디렉토리에 생성됩니다. 먼저 Designer 플러그인에 대한 오류가 있지만 디자이너 스위치를 끈 후에 오류나 경고없이 컴파일됩니다. - Qwt와 함께 제공되는 샘플 중 하나를 만들었습니다. 코드에 줄을 추가했을뿐입니다 (자습서 지침에 따라) :
QCoreApplication::addLibraryPath("app/native/lib");
. 런타임에 장치에있는 공유 라이브러리가있는 위치를 응용 프로그램에 알리는 데 필요합니다. 여기도 문제 없습니다.
포함 ($$ {PWD} /../ examples.pri)
TARGET = curvdemo1
DESTDIR = .
QMAKE_LFLAGS += '-Wl,-rpath,\'./app/native/lib\''
LIBS += -lbbsupport
SOURCES = \
curvdemo1.cpp
package.target = $${TARGET}.bar
package.depends = $$TARGET
package.commands = blackberry-nativepackager \
-devMode \
-package $${TARGET}.bar -arg -platform -arg blackberry \
blackberry-tablet.xml $$TARGET \
-e icon.png res/icon.png \
-e splashscreen.png res/splashscreen.png \
-e $$[QT_INSTALL_LIBS]/libQtCore.so.4 lib/libQtCore.so.4 \
-e $$[QT_INSTALL_LIBS]/libQtGui.so.4 lib/libQtGui.so.4 \
-e $$[QT_INSTALL_LIBS]/libQtOpenGL.so.4 lib/libQtOpenGL.so.4 \
-e $$[QT_INSTALL_LIBS]/libQtNetwork.so.4 lib/libQtNetwork.so.4 \
-e $$[QT_INSTALL_LIBS]/libbbsupport.so.4 lib/libbbsupport.so.4 \
-e $$[QT_INSTALL_PLUGINS]/platforms/libblackberry.so lib/platforms/libblackberry.so
-e /home/builder/Qwt/qwt-6.0.1/lib/libqwt.so.6 lib/libqwt.so.6 \
-e /home/builder/Qwt/qwt-6.0.1/lib/libqwtmathml.so.6 lib/libqwtmathml.so.6
QMAKE_EXTRA_TARGETS += package
나는 응용 프로그램을 패키지화하고 배포 그러나 응용 프로그램이 충돌을 실행할 때 다음과 같이 내 .PRO 파일 보였다 스플래시 화면이 사라지 자마자
위의 단계는 Qwt를 공유 라이브러리로 사용하려는 시도를 나타냅니다. 라이브러리 지침에 따라 QwtDll
을 제거하여 정적 라이브러리로 빌드하려고 시도했지만 최종 결과는 동일합니다. 바이너리는 크기에 따라 정적 라이브러리를 사용한다고 말할 수 있습니다.
Qwt 라이브러리가 제대로 빌드되지 않았고 테스트 응용 프로그램에서 올바르게로드 할 수 없다고 생각합니다. 그렇다면이 라이브러리를 게임 북 OS로 올바르게 포팅하는 방법은 무엇입니까? 이 단계들에서 내가 누락 된 부분이 있다면?
BTW 다른 이유로 momentics를 사용하여 당분간 디버깅 할 수 없습니다.
내 학습 경험에 대한 기여에 감사드립니다.