• 11591阅读
  • 16回复

[提问]关于QT4中QDirectPainter类的问题 [复制链接]

上一主题 下一主题
离线comeona1
 
只看楼主 倒序阅读 楼主  发表于: 2011-10-31
看QT的官方文档4.7的QT应该是包含screenWidth ()成员的

可是我在使用QDirectPainter::screenWidth()的时候却无法编译通过,显示undefined reference to `QDirectPainter::screenWidth()',想请问下版上的各位高手,这可能是由于哪些原因造成的?下面是程序的一部分
#include "floatcal.h"
#include "ui_floatcal.h"
#include <QString>
#include <QDirectPainter>

floatCal::floatCal(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::floatCal)
{
    ui->setupUi(this);
    int aa=QDirectPainter::screenWidth();
    ……
离线wxj120bw

只看该作者 1楼 发表于: 2011-10-31
回 楼主(comeona1) 的帖子
链接阶段错误 你只安装了qt4.7吗
离线uidab

只看该作者 2楼 发表于: 2011-10-31
回 楼主(comeona1) 的帖子
4.6也有它啊!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线wxj120bw

只看该作者 3楼 发表于: 2011-10-31
回 2楼(uidab) 的帖子
建议卸载一个 只留一个
离线uidab

只看该作者 4楼 发表于: 2011-10-31
回 3楼(wxj120bw) 的帖子
哈哈,我这只有一个就是4.6。可能是楼主哪里设置问题。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线wxj120bw

只看该作者 5楼 发表于: 2011-10-31
回 4楼(uidab) 的帖子
误会   还以为是楼主的回复 就直接给回了
离线uidab

只看该作者 6楼 发表于: 2011-10-31
回 5楼(wxj120bw) 的帖子
哈哈,晚上我装两个看看,究竟有没有什么冲突!!
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线wxj120bw

只看该作者 7楼 发表于: 2011-10-31
回 6楼(uidab) 的帖子
不一定会有 只所以问装了几个qt 是因为有人问过类似问题 最终是版本低导致的
离线uidab

只看该作者 8楼 发表于: 2011-10-31
回 7楼(wxj120bw) 的帖子
哦,明白!看来是设置好路径就可以多版本共存的。
有时候为了工作直接获得答案,而我却失去了思考的乐趣!


飘啊飘,何时能安居!
离线wxj120bw

只看该作者 9楼 发表于: 2011-10-31
回 8楼(uidab) 的帖子
可以多版本共存 不过一般不需要手动设置 默认就可以
离线comeona1
只看该作者 10楼 发表于: 2011-10-31
回 1楼(wxj120bw) 的帖子
恩麻烦再问下这个链接阶段错误应该怎么改呀?我只装了4.7的
离线wxj120bw

只看该作者 11楼 发表于: 2011-10-31
回 10楼(comeona1) 的帖子
重新清空项目再编译下 将编译终端窗口的编译命令贴出来 我分析下
离线comeona1
只看该作者 12楼 发表于: 2011-11-01
恩后来我自己下了个源码包,安装之后用qmake来生成makefile再用make编译就能通过了,不过直接用QT SDK还是会报错:
/home/marter/code/qt/floattest2/FloatTest-build-desktop/../FloatTest/floatcal.cpp:12: undefined reference to `QDirectPainter::screenHeight()'
/home/marter/code/qt/floattest2/FloatTest-build-desktop/../FloatTest/floatcal.cpp:11: undefined reference to `QDirectPainter::screenWidth()'
/home/marter/code/qt/floattest2/FloatTest-build-desktop/../FloatTest/floatcal.cpp:12: undefined reference to `QDirectPainter::screenHeight()'
collect2: ld returned 1 exit status
make: *** [FloatTest] Error 1
The process "/usr/bin/make" exited with code %2.
Error while building project FloatTest (target: Desktop)
When executing build step 'Make'
离线wxj120bw

只看该作者 13楼 发表于: 2011-11-01
回 12楼(comeona1) 的帖子
再贴多些 想看编译文件时打印的命令
离线comeona1
只看该作者 14楼 发表于: 2011-11-01
Running build steps for project FloatTest...
Configuration unchanged, skipping qmake step.
Starting: "/usr/bin/make" -w
make: Entering directory `/home/marter/code/qt/floattest2/FloatTest-build-desktop'
g++ -Wl,-rpath,/opt/qtsdk-2010.05/qt/lib -o FloatTest main.o floatcal.o moc_floatcal.o    -L/opt/qtsdk-2010.05/qt/lib -lQtGui -L/opt/qtsdk-2010.05/qt/lib -L/usr/X11R6/lib -lQtCore -lpthread
make: Leaving directory `/home/marter/code/qt/floattest2/FloatTest-build-desktop'
floatcal.o: In function `floatCal':
/home/marter/code/qt/floattest2/FloatTest-build-desktop/../FloatTest/floatcal.cpp:11: undefined reference to `QDirectPainter::screenWidth()'
/home/marter/code/qt/floattest2/FloatTest-build-desktop/../FloatTest/floatcal.cpp:12: undefined reference to `QDirectPainter::screenHeight()'
/home/marter/code/qt/floattest2/FloatTest-build-desktop/../FloatTest/floatcal.cpp:11: undefined reference to `QDirectPainter::screenWidth()'
/home/marter/code/qt/floattest2/FloatTest-build-desktop/../FloatTest/floatcal.cpp:12: undefined reference to `QDirectPainter::screenHeight()'
collect2: ld returned 1 exit status
make: *** [FloatTest] Error 1
The process "/usr/bin/make" exited with code %2.
Error while building project FloatTest (target: Desktop)
When executing build step 'Make'

麻烦您了~~
离线wxj120bw

只看该作者 15楼 发表于: 2011-11-01
回 14楼(comeona1) 的帖子
没看出来   若程序不包含QDirectPainter类 可编译通过吗  我建议重新安装下

离线ppdayz

只看该作者 16楼 发表于: 2011-11-01
回 14楼(comeona1) 的帖子
qmake -query
看下你的qt库的安装情况
快速回复
限100 字节
 
上一个 下一个