• 6417阅读
  • 0回复

【提问】qt修改文件编译后不起作用,何解? [复制链接]

上一主题 下一主题
离线liger
 

只看楼主 倒序阅读 楼主  发表于: 2005-11-24
弄了几天qte了,写写我的过程
我的配置:
软件:tmake1.1.3+qt-x11-free-2.3.2+qt-embedded-free-2.3.7
开发host:redhat9,x86
开发target:linux2.4.20, MIPS
host与target用tcp/IP连接
调试方式:
使用ddd通过网络调试,可以单步.target通过nfs与host共享开发目录。

编译了tmake和qtx11,发觉没有什么用。后来就不用了。


在host上增加一个linuxfb型的驱动myxxx,myxxx从qgfxlinuxfb继承,并修改成我
自己系统的操作方式。
在qgfxraster_qws.cpp中增加包含myxxx.cpp,并在driverTable []中增加我自己的
qt_get_screen_myxxx。

在host上设置环境变量
export QTDIR=$PWD
export QTEDIR=$QTDIR
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
配置:
./configure -xplatform linux-mips-g++ -shared -debug -thread

编译qte2.3.7:
make
得到libqte.so.2.3.7及其链接libqte.so libqte.so.2 libqte.so.2.3
得到所有的examples和tutorial

在target上设置
export QWS_DISPLAY=myxxx
export QWS_SIZE=640x480
在target上运行./hello -qws
出现错误:
myxxx driver cannot connect

以上是我的操作过程,下面说说我遇到的问题。


使用ddd远程调试跟踪,发觉driverTable []中并没有加入qt_get_screen_myxxx项。

就做了一个试验,在输出myxxx driver cannot connect的函数qt_get_screen里加了一行,
qFatal("XXXXXXXXXXXXXXXXXXXXXXXXXXX");
变成:
QScreen *qt_get_screen( int display_id, const char *spec )
{
  QString displaySpec( spec );
  QString driver = displaySpec;
  int colon = displaySpec.find( ':' );
  if ( colon >= 0 )
    driver.truncate( colon );

    qFatal("XXXXXXXXXXXXXXXXXXXXXXXXXXX");
  int i = 0;
  while ( driverTable.name ) {
    if ( driver.isEmpty() || QString( driverTable.name ) == driver ) {
        qt_screen = driverTable.qt_get_screen( display_id );
        if ( qt_screen ) {
          if ( qt_screen->connect( spec ) ) {
            return qt_screen;
          } else {
            delete qt_screen;
            qt_screen = 0;
          }
        }
    }
    i++;
  }

  if ( driver.isNull() )
    qFatal( "No suitable driver found" );
  else
    qFatal( "%s driver cannot connect", driver.latin1() );

  return 0;
}
重新编译,运行,发觉没有这一行输出。
使用ddd调试,发觉加入的一行并没有被编译进去。

于是新建一个项目,从qt-embedded-free-2.3.7.tar.gz2中解压缩,并把qt_get_screen函数改成如上所示。
发觉运行时还是没有XXXXXXXXXXXXXXXXXXXXXXXXXXX输出。


有遇到过相同问题的高人,出手就我一把!





[p:4]
[ 此贴被XChinux在2005-11-24 23:22重新编辑 ]
快速回复
限100 字节
 
上一个 下一个