QT开发--《Beginning Linux Programming》4th Edition
最近在学习《Beginning Linux Programming》4th Edition的时候,将下面的例子代码键入
#include<qapplication.h> #include<qmainwindow.h> int main(int argc,char* args[]) { QApplication app(argc,args); QMainWindow *window=new QMainWindow(); app.setMainWidget(window); window->show(); return app.exec(); }
按照 $g++ -o QWindow QWindow.cpp -I$QTDIR/include -L$QTDIR/lib -lqui 编译方式出现了如下的错误:
/usr/bin/ld: /tmp/ccizdZj7.o: undefined reference to symbol ‘_ZN7QWidget14setFocusPolicyENS_11FocusPolicyE‘ /usr/bin/ld: note: ‘_ZN7QWidget14setFocusPolicyENS_11FocusPolicyE‘ is defined in DSO /usr/lib64/qt-3.3/lib/libqt-mt.so.3 so try adding it to the linker command line /usr/lib64/qt-3.3/lib/libqt-mt.so.3: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status
根据提示,直接将 /usr/lib64/qt-3.3/lib/libqt-mt.so.3作为输入,则可以正常编译成功。
$ g++ -o QWindow QWindow.cpp -I$QTDIR/include -L$QTDIR/lib -lqui $QTDIR/lib/libqt-mt.so.3
PS:在阅读本书的过程中,在中文版第四版的p427:
$./thread3a的输出部分:
FAST输入后,应该输出的是两句“You input 7 characters”
You input 7 characters
You input 7 characters
而不是书中的三句:
You input 7 characters
You input 7 characters
You input 7 characters
正在学习linux相关的知识,希望大家一起交流,共同进步。。。。
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。