The Official NPPAngband And NPPMoria Forum

You are not logged in.


November 28, 2016 - NPPAngband forum has been migrated to a new host. SSL has been enabled so please use https:// if possible.

#1 2016-05-04 23:32:41

From: In the basement of the dungeon
Registered: 2016-05-02
Posts: 1

Do I need QT to compile NPPAngband?

I have a Window 10 system. Do I need QT to compile NPPAngband?  I am new to QT stuff. I can program in C++.


#2 2016-05-05 17:59:05

NPPAngband Maintainer
Registered: 2004-07-01
Posts: 1,647

Re: Do I need QT to compile NPPAngband?

It can be done without downloading QT, but it is probably significantly more difficult. 

The QT download is essentially four things.  Only one of them is a mandatory:

1) The first is the QT libraries.  Obviously, they need to be downloaded.
2) The QT installer also downloads and sets up MINGW, along with the debugger.  If you prefer another compiler, it probably works.  The source comes with a makefile that will need some minimal adjustments to work with another compiler.
3) The QT creator, which is basically a (very nice) code editor that has some features unique to QT.  But doubtless you can use your own.
4) You can also make the widgets in a visual interface attached to QT creator instead of coding them.  But I found that it is better to make the widgets using code.  During run time the game makes too many assumptions about the size of a widget that has been drawn, and it frequently is not a good size for the screen.

If you know C++, then QT will be easy.  It can be considered extended library for C++ that makes a modern GUI, and many things are just C++ commands with a 'Q' in front of it.  (QString....qSort, QVector.....). 

If you are an experiencd object oriented programmer, then you will find the codebase to be a bit of a mash-up.    It existed as a C codebase for 25 years.  A couple years ago I got tired of the limitations of C and the various ancient ports that came with Angband.  I had no experience in object oriented programming when I got started.  We did not do a complete re-write.  Much of the codebase is still working C code written 25 years ago, and in other places it is newly written object oriented programming.  Still, the overall structure of the codebase is not object oriented.

Just curious, what did you want to do with the source code?

There are plenty of links like this that can help: … qt-creator


Board footer

Powered by FluxBB