• 7395阅读
  • 3回复

关于编译移植第一个程序helloworld到Qtopia2.2.0 PDA上的问题 [复制链接]

上一主题 下一主题
离线denton
 
只看楼主 倒序阅读 楼主  发表于: 2009-07-29
如题,编译移植第一个程序helloworld出现了些问题,望各位大侠帮忙分析解决一下,现将具体的操作过程列在下面:

说明,我用的板子是友善之臂mini2440,参考欧文盛编著的《ARM嵌入式Linux应用实例开发》这本书

1.下载qtopia-core-opensource-src-4.3.0.tar.gz ,然后解压编译arm版本的Qtopia Core
  (不知道用这个编译出来的程序能否在他给的Qtopia2.2.0上运行不?)
输入:
  1. ./configure -embedded arm -xplatform qws/linux-arm-gcc++ -no-qt3support -qt-mouse-linuxtp
  2. make
  3. make install

默认是装在/usr/local/Trolltech/QtopiaCore-4.3.0-arm目录下,把这个目录加到系统PATH上。

2.编helloworld程序:
  1. #include <QApplication>
  2. #include <QLabel>
  3. int main(int argc, char *argv[])
  4. {
  5.     QApplication app(argc, argv);
  6.     QLabel hello("Hello Qtopia!");
  7.     hello.show();
  8.     return app.exec();
  9. }



3.交叉编译helloworld:
  1. qmake -project
  2. qmake
  3. make

生成helloworld程序,然后把它拷贝到root_qtopia根文件系统的目录下,同时把/usr/local/Trolltech/QtopiaCore-4.3.0-arm/lib拷贝到root_qtopia根文件系统的目录下的/usr/local/Trolltech/QtopiaCore-4.3.0-arm目录下。

4.用NFS方式启动板子后,
  1. export LD_LIBRARY_PATH=/usr/local/Trolltech/QtopiaCore-4.3.0-arm/lib:$LD_LIBRARY_PATH
  2. ./helloworld

提示:QWSDisplay::Data::init: Invalid argument  
运行不起来,换成
  1. ./helloworld -qws

也不行,没有在板子上出现helloworld界面,提示:Segmentation fault  
好像Qtopia死掉了,自动重启,但启动不起来....只能手动复位了

到底是怎么回事?按照《ARM嵌入式Linux应用实例开发》这本书上说的因该可以的呀!!
麻烦个位指点

或者说,编译用QtopiaCore编译的程序能否在Qtopia上运行?
好像系统运行的那个Qtopia使用Qt2编译的
不行的话我应该用什么编译那个helloworld程序,才能拿到板子上运行?

谢谢各位,帮帮忙
离线denton
只看该作者 1楼 发表于: 2009-07-29
怎么没人回答呢?
离线cnnbboy

只看该作者 2楼 发表于: 2009-07-30
两个完全是两码事
离线benf210
只看该作者 3楼 发表于: 2011-06-29
一样问题呀,郁闷
快速回复
限100 字节
 
上一个 下一个