标题:设置好QT/E环境,编译EXAMPLE出错
作者:戒三
日期:2006-06-01 11:21
内容:
可能是我上个贴子没说清除配置,今天我把那配置文件贴上,出错信息贴上,希望高手能帮帮.
tar xfvz tmake-1.11.tar.gz
tar xfvz qt-embedded-2.3.7.tar.gz
tar xfvz qtopia-free-1.7.0.tar.gz
tar xfvz qt-x11-2.3.2.tar.gz
mv tmake-1.11 tmake
mv qt-2.3.7/ qt
mv qtopia-free-1.7.0 qtopia
mv qt-2.3.2 qt-x11
cd qt-x11
export QTDIR=$PWD
echo yes | ./configure -static -no-xft -no-opengl -no-sm
make -C src/moc
cp src/moc/moc bin
make -C src
make -C tools/designer
make -C tools/qvfb
cp tools/qvfb/qvfb bin
strip bin/uic bin/moc bin/designer bin/qvfb
cd ..
cp qt-x11/bin/?* qt/bin
rm -fr qt-x11
export QTDIR=$PWD/qt
rm -fr qt-x11
export QTDIR=$PWD/qt
export QPEDIR=$PWD/qtopia
export TMAKEDIR=$PWD/tmake
export TMAKEPATH=$TMAKEDIR/lib/qws/linux-generic-g++
export PATH=$QTDIR/bin:$QPEDIR/bin:$TMAKEDIR/bin:$PATH
cd qt
make clean
cp ../qtopia/src/qt/qconfig-qpe.h src/tools/
(echo yes; echo yes ) |./configure -platform linux-generic-g++-qconfig qpe -depths 16,24,32
make -C src
cd ..
cd qtopia/src
./configure-platform linux-generic-g++
make
整个的配置过程就是这样,然后我进QT/examples/hello,make 出现的错误如下:/friendly-arm/x86-qtopia/qt/lib/libqte.so: undefined reference to `operator new[](unsigned)'
/friendly-arm/x86-qtopia/qt/lib/libqte.so: undefined reference to `cos'
/friendly-arm/x86-qtopia/qt/lib/libqte.so: undefined reference to `sin'
/friendly-arm/x86-qtopia/qt/lib/libqte.so: undefined reference to `__cxa_pure_virtual'
/friendly-arm/x86-qtopia/qt/lib/libqte.so: undefined reference to `pow'
/friendly-arm/x86-qtopia/qt/lib/libqte.so: undefined reference to `operator delete[](void*)'
collect2: ld returned 1 exit status
好像在哪个贴子上说过只要在Makefile的LIB加上-lm能消除这错误,但是我加上后出现错误如下:
undefined reference to `operator delete(void*)'
/friendly-arm/x86-qtopia/qt/lib/libqte.so: undefined reference to `operator new[](unsigned)'
/friendly-arm/x86-qtopia/qt/lib/libqte.so: undefined reference to `__cxa_pure_virtual'
/friendly-arm/x86-qtopia/qt/lib ..
#1 [gloryn 06-01 11:49]
引用第0楼戒三于2006-06-01 11:21发表的“设置好QT/E环境,编译EXAMPLE出错”:
可能是我上个贴子没说清除配置,今天我把那配置文件贴上,出错信息贴上,希望高手能帮帮.
tar xfvz tmake-1.11.tar.gz
tar xfvz qt-embedded-2.3.7.tar.gz
tar xfvz qtopia-free-1.7.0.tar.gz
tar xfvz qt-x11-2.3.2.tar.gz
.......
加-lstdc++??
#2 [戒三 06-01 12:37]
在哪加上-lstdc++?
#3 [shiroki 06-01 13:24]
最后链接的语句要么把链接器改为g++(你那里写的是gcc吧), 要么在链接的最后加-lstdc++
直接改Makefile最方便
#4 [gloryn 06-01 13:36]
引用第3楼shiroki于2006-06-01 13:24发表的“”:
最后链接的语句要么把链接器改为g++(你那里写的是gcc吧), 要么在链接的最后加-lstdc++
直接改Makefile最方便
正好问shiroki一个问题:
用 -lstdc++ 生成的文件如果编译器的库文件没有动态链接库libstdc++.so,但是有静态链接库libstdc++.a , 那么编译器会自动链接静态链接库吗?还是在运行时再寻找动态库?
#5 [shiroki 06-01 14:01]
这个问题我记不太清楚了。 好像是编译的时候会找到.a, 但是还是动态链接的。 所以运行的时候也会去寻找动态库。
等会儿我再看看