同问:
我也遇到问题了,错误提示如下,但是生成了相关的.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重新编辑 ]