metaspartan / denarius

Denarius [$D] is a PoW/PoS Hybrid Cryptocurrency with Tribus a new PoW Hashing Algo built specifically for D, one of a kind hybrid masternodes called Fortuna Stakes, atomic swaps, staking, mining, IPFS, optional Native Tor and I2P, and much more!
https://denarius.io
MIT License
110 stars 75 forks source link

Compile error in Ubuntu 16.04 #87

Closed sylph93 closed 6 years ago

sylph93 commented 6 years ago

I got error while I compiled v2.0.0. I followed latest instruction and got message while 'make'.

In file included from src/qt/qcustomplot.cpp:26:0: src/qt/qcustomplot.h:54:28: fatal error: QtPrintSupport: No such file or directory compilation terminated.

enkayz commented 6 years ago

which version of Qt are you compiling against?

sylph93 commented 6 years ago

I followed this instruction. https://denariustalk.org/index.php?/topic/138-guide-building-denarius-qtdenariusd-on-ubuntu/

metaspartan commented 6 years ago

I tested on Ubuntu 16.04 and it builds with no errors with QT4, you just need to ensure you are building with QT4. QtPrintSupport is only supported on QT5+ and we do not support QT5 yet. What does the command below return for you?

qmake -v

sylph93 commented 6 years ago

QMake version 3.0 Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu

How can I make with QT4? However, I successfully compiled v1.0.7 wallet with current setting.

metaspartan commented 6 years ago

You can install QT4 with sudo apt-get install libqt4-dev

You can switch QT versions with the variable QT_SELECT=qt4 or qmake -qt=qt4:

QT_SELECT=qt4 qmake --version
qmake -qt=qt4 --version
sylph93 commented 6 years ago

I got an new error after toggle to QT4

build/ui_richlist.h:13:29: fatal error: QtWidgets/QAction: No such file or directory compilation terminated.

Edit: I googled and I found that QTwidget is for QT5, QTGui for Qt4. Weird. Your code is somewhat for QT5.

So, I replace QTwidger with QTQut and compiled again.

There is new error occur.

In file included from src/qt/richlist.cpp:2:0: build/ui_richlist.h: In member function ‘void Ui_RichListPage::setupUi(QWidget*)’: build/ui_richlist.h:55:70: error: ‘QStringLiteral’ was not declared in this scope RichListPage->setObjectName(QStringLiteral("RichListPage")); ^ build/ui_richlist.h:59:60: error: ‘QStringLiteral’ was not declared in this scope topLayout->setObjectName(QStringLiteral("topLayout"));

I face errors both with QT5 and QT4. There seems to be some dependency issue on code.

There was no error with v1.0.7 followed by instruction.

Please let me have new clean instruction.

enkayz commented 6 years ago

In QT5, please try with QT += widget printsupport in the denarius-qt.pro file

sylph93 commented 6 years ago

It worked. I edited denarius-qt.pro file. Add 'printsupport' next to 'QT += widget'

QT += widget to QT += Widget printsupport

Worked like charm.

Please add this to new release.