• 7322阅读
  • 5回复

交叉编译qt2.3.10遇到的问题 [复制链接]

上一主题 下一主题
离线lemon
 
只看楼主 倒序阅读 楼主  发表于: 2006-07-02
遇到一个很奇怪的问题,交叉编译qt2.3.10.配置如下:
./configure -xplatform linux-arm-g++ -system-jpeg -no-xft -qconfig qpe -no-qvfb -depths 4,8,16,32
编译过程显示一些warnging,但是编译完成了。编译完./lib下只有libqte的链接文件,却没有库文件。怎么回事?根本没有生成qt库文件。交叉编译器用的是2.95.3
[ 此贴被XChinux在2006-07-02 20:37重新编辑 ]
离线cavendish

只看该作者 1楼 发表于: 2006-07-02
建议贴出整个编译log
肯定是编译错误没有编译出libqte
离线haoqianga
只看该作者 2楼 发表于: 2008-04-17
同问:
我也遇到问题了,错误提示如下,但是生成了相关的.so文件,只不过最后在开发板上运行我自己的程序时也遇到了类似的错误,导致无法运行。
网上搜了下,也有人遇到类似问题:
h t t p : / / w w w . q t c n . o r g / b b s/ r ea d . p h p ? t i d = 5 5 7 8
错误也和我的一样:
======================================================================
…………
…………
cd tutorial; make
make[2]: Entering directory `/root/dev/qt-2.3.10-target/tutorial'
make t1 t2 t3 t4 t5 t6 t7 t8 t9 t10 t11 t12 t13 t14
make[3]: Entering directory `/root/dev/qt-2.3.10-target/tutorial'
if [ -d t1 ]; then cd t1 ; make; fi
make[4]: Entering directory `/root/dev/qt-2.3.10-target/tutorial/t1'
arm-linux-g++ -c -I/root/dev/qt-2.3.10-target/include -pipe -DQWS -fno-exceptions -fno-rtti -O2 -Wall -W -DNO_DEBUG -o main.o main.cpp
arm-linux-gcc -L/root/dev/qt-2.3.10-target/lib -Wl,-rpath,/root/dev/qt-2.3.10-target/lib  -o ./t1 main.o  -lqte -lm
/root/dev/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator new[](unsigned)'
/root/dev/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator delete(void*)'
/root/dev/qt-2.3.10-target/lib/libqte.so: undefined reference to `__cxa_pure_virtual'
/root/dev/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator delete[](void*)'
/root/dev/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator new(unsigned)'
collect2: ld returned 1 exit status
make[4]: *** [t1] Error 1
make[4]: Leaving directory `/root/dev/qt-2.3.10-target/tutorial/t1'
make[3]: *** [t1] Error 2
make[3]: Leaving directory `/root/dev/qt-2.3.10-target/tutorial'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/root/dev/qt-2.3.10-target/tutorial'
make[1]: *** [sub-tutorial] Error 2
make[1]: Leaving directory `/root/dev/qt-2.3.10-target'
make: *** [init] Error 2
======================================================================
有人回复解决方法为:

我也有这个错误,我的解决办法是不make tutorial 目录, 在总的Makefile里面,把cd tutorial注释掉,相关tutorial编译也要注释掉,还有后面的cd examples也会有这样的提示,也一想注释掉吧

------------------------
我自己试验了,还是不能通过。
======================================================================
另外:h t t p : / / w w  w .d z k f .c n / ht m l/ q i a nr u s hi x it o ng / 20 0 7 / 05 0 8 /2 0 47 . h tm l
也有提到这个问题:

出现
/public/qt/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator new[](unsigned int)'
/public/qt/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator delete(void*)'
/public/qt/qt-2.3.10-target/lib/libqte.so: undefined reference to `__cxa_pure_virtual'
/public/qt/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator delete[](void*)'
/public/qt/qt-2.3.10-target/lib/libqte.so: undefined reference to `operator new(unsigned int)'
collect2: ld returned 1 exit status
make[4]: *** [t1]
暂时不管它,不影响的。下面的第2步: “修改tmake 配置文件”  即可解决此类问题。


======================================
不过,我实在想不出来,修改tmake的配置文件,对qt2.3.10的编译过程会有什么影响
======================================
2006的问题,2008我还没解决,实在汗颜哦


!!!!!!!!!期待大侠们指导啊!!!!!!!!
[ 此贴被haoqianga在2008-04-17 12:59重新编辑 ]
离线haoqianga
只看该作者 3楼 发表于: 2008-04-17
指导书上告诉我们,这个问题无所谓,实际上因为后来也遇到类似错误,觉得应该没那么简单,应该搞清楚,但………………
离线goodbay
只看该作者 4楼 发表于: 2008-04-18
在学校的时候听老师说,安装QT要装VC6.0,要不会产生些错误
离线rooney
只看该作者 5楼 发表于: 2009-07-17
其实也就是链接问题
c++的程序用gcc链接,肯定会错误的。
修改相应目录的Makefile的 LINK 的 gcc 为 g++ 或者 arm-linux-gcc => arm-linux-g++就能链接成功了。
对于怎样改整个配置文件我就不知道了,我的是傻办法,哪里出现错误改那个Makefile。


1楼出现的问题我也遇到过,应该是编译器的问题,之前我用3.4.1编译了无数次都跟1楼的结果一样,
后来用了3.3.2后就没有了这个问题。




引用第2楼haoqianga于2008-04-17 10:44发表的  :
同问:
我也遇到问题了,错误提示如下,但是生成了相关的.so文件,只不过最后在开发板上运行我自己的程序时也遇到了类似的错误,导致无法运行。
网上搜了下,也有人遇到类似问题:
h t t p : / / w w w . q t c n . o r g / b b s/ r ea d . p h p ? t i d = 5 5 7 8
错误也和我的一样:
.......
快速回复
限100 字节
 
上一个 下一个