求助,ubuntu 20 安装 qt 4.8.7 ,编译时的问题
在ubuntu 20下安装QT4.8.7,从everywhere的包编译的。make过程中出现error,但是我在src里面找到Error提示的文件(CPP h ui等三个文件),发现所提示的相关的属性是存在的,
比如下面第一个错误 cupsPropertiesPage 这个控件存在,大小写也是正确的。。。
undefinedundefinedundefined
有人知道怎么解决吗?
make提示的问题如下:
/home/4.8.7/src/gui/dialogs/qprintdialog_unix.cpp: In destructor ‘virtual QPrintPropertiesDialog::~QPrintPropertiesDialog()’:
/home/4.8.7/src/gui/dialogs/qprintdialog_unix.cpp:281:19: error: ‘class Ui::QPrintPropertiesWidget’ has no member named ‘cupsPropertiesPage’
281 | delete widget.cupsPropertiesPage;
| ^~~~~~~~~~~~~~~~~~
/home/4.8.7/src/gui/dialogs/qprintdialog_unix.cpp: In member function ‘void QPrintPropertiesDialog::applyPrinterProperties(QPrinter*)’:
/home/4.8.7/src/gui/dialogs/qprintdialog_unix.cpp:287:12: error: ‘class Ui::QPrintPropertiesWidget’ has no member named ‘pageSetup’
287 | widget.pageSetup->setPrinter(p);
| ^~~~~~~~~
/home/4.8.7/src/gui/dialogs/qprintdialog_unix.cpp: In member function ‘void QPrintPropertiesDialog::setupPrinter() const’:
/home/4.8.7/src/gui/dialogs/qprintdialog_unix.cpp:292:12: error: ‘const class Ui::QPrintPropertiesWidget’ has no member named ‘pageSetup’
292 | widget.pageSetup->setupPrinter();
| ^~~~~~~~~
/home/4.8.7/src/gui/dialogs/qprintdialog_unix.cpp: In member function ‘void QPrintPropertiesDialog::selectPrinter()’:
/home/4.8.7/src/gui/dialogs/qprintdialog_unix.cpp:337:16: error: ‘class Ui::QPrintPropertiesWidget’ has no member named ‘cupsPropertiesPage’
337 | widget.cupsPropertiesPage->setEnabled(false);
| ^~~~~~~~~~~~~~~~~~
/home/4.8.7/src/gui/dialogs/qprintdialog_unix.cpp:338:16: error: ‘class Ui::QPrintPropertiesWidget’ has no member named ‘pageSetup’
338 | widget.pageSetup->selectPrinter(0);
| ^~~~~~~~~
…………………………
make: *** 错误 1
CTRL + 鼠标左键,能跳转到这几个属性嘛?这种错误还是挺明确的 ~ linux 终端上make,没有链接的。
问题时很明显啊,我找到指向的几个文件了的 hcppui
说问题的这几个属性都是存在的,大小写也是正常的。。。 要么是没有写头文件,要么你定义出来的widget是指针类型的,要用“->”而不是用“.” qmake123 发表于 2020-8-3 14:29
要么是没有写头文件,要么你定义出来的widget是指针类型的,要用“->”而不是用“.” ...
我是编译QT 4.8.7 的 everywhere 的源码啊,安装在Ubuntu里面。
用 qt creator打开看了的,应该用是.
而且如果是->那也该提示代码问题,而不是说 has no member shepher 发表于 2020-8-5 16:04
我是编译QT 4.8.7 的 everywhere 的源码啊,安装在Ubuntu里面。
用 qt creator打开看了的,应该用是.
写了头文件吗?可以直接在头文件按F2转到源码吗? 请问这个问题有人解决了嘛,在ubuntu20上编译qt库时遇到同样问题 是gcc版本太高了,编译出来的 uic 有问题。建议切换到 gcc7。
https://blog.csdn.net/u013028556/article/details/123404294 ubuntu20自带的gcc版本太高了。换成gcc7就好了。
https://www.qter.org/home.php?mod=space&uid=42442&do=blog&id=495
页:
[1]