Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

QGlk

7 views
Skip to first unread message

David Fletcher

unread,
Dec 30, 2009, 2:07:50 PM12/30/09
to
For a while I've been sporadically writing a Glk implementation based
on Qt, and I've decided I might as well make a public release:

http://www.bubblycloud.com/qglk

The source is there, and some Windows and Linux builds of a Glulxe and
a Nitfol.

Consider this a very early release - it seems roughly usable but is
barely tested. I've played four or five games to completion but
that's about it. So, I can't really recommend that anyone uses it as
their regular Glk. Strictly for novelty-seekers.

It probably isn't worth reporting minor bugs yet, but if it crashes or
does something obviously broken, let me know.

So far it doesn't support graphics or sound, but I do intend to add
those in future (along with packaging some more terps, writing proper
instructions for players, and lots of other exciting features).

--
David Fletcher.

Otto Grimwald

unread,
Dec 30, 2009, 6:33:26 PM12/30/09
to
David Fletcher wrote:
> For a while I've been sporadically writing a Glk implementation based
> on Qt, and I've decided I might as well make a public release:

It's really cool. I've compiled it without problem on Linux. I like the
fact you can have access to several fonts you couldn't use in a terminal
because it displays proportional fonts as monospaced. (you could also
get them with gargoyle, but it's less practical)


> The source is there, and some Windows and Linux builds of a Glulxe and
> a Nitfol.

I've tried to compile it on Haiku, a beOS reimplementation. Qt 4.5.1 has
been ported on it recently (http://qt-haiku.ru/).
Unfortunately it stops with errors, but I don't understand them (I'm not
a C++ programmer):

In file included from /boot/common/include/QtGui/QFileDialog:1,
from
/boot/home/Desktop/qglk-src-0.1.0/qglk-core/stream/FilerefManager.cpp:7:
/boot/common/include/QtGui/qfiledialog.h:317: warning: `visibility'
attribute directive ignored
/boot/home/Desktop/qglk-src-0.1.0/qglk-core/stream/FilerefManager.cpp:
In method `class GlkFileref * FilerefManager::createTemp(long unsigned
int, long unsigned int)':
/boot/home/Desktop/qglk-src-0.1.0/qglk-core/stream/FilerefManager.cpp:32:
`::numeric_limits' undeclared (first use here)
/boot/home/Desktop/qglk-src-0.1.0/qglk-core/stream/FilerefManager.cpp:32:
parse error before `>'
/boot/home/Desktop/qglk-src-0.1.0/qglk-core/stream/FilerefManager.cpp:44:
parse error before `>'
/boot/home/Desktop/qglk-src-0.1.0/qglk-core/stream/FilerefManager.cpp:23:
warning: unused parameter `glui32 usage'
/boot/home/Desktop/qglk-src-0.1.0/qglk-core/stream/FilerefManager.cpp:23:
warning: unused parameter `glui32 rock'
/boot/home/Desktop/qglk-src-0.1.0/qglk-core/stream/FilerefManager.cpp:49:
confused by earlier errors, bailing out
make[1]: *** [obj/FilerefManager.o] Error 1
make[1]: Leaving directory `/boot/home/Desktop/qglk-src-0.1.0/qglk-core'
make: *** [sub-qglk-core-make_default] Error 2


The part "::numeric_limits' undeclared " seems to say it understands
::numeric_limits as a whole thing, instead of "numeric_limits".

My gcc is version 4.3.3 (GCC)

(Haiku should behave like any other unix, they could compile several Qt
programs including the webbrowser Arora for ex)


David Fletcher

unread,
Dec 31, 2009, 6:41:56 AM12/31/09
to

Not sure why this is happening. It hasn't complained about the
include of <limits>, and numeric_limits ought to be in there. I
wonder if the include of <limits> needs to be before the Qt ones for
some reason. Or if it somehow picked up the C header <limits.h>
instead of the C++ <limits> - doesn't seem very likely though.

As a workaround to make it build, you could just replace the two
occurrences of std::numeric_limits<unsigned>::max() with a moderately
big number, say 10000. That's probably an improvement, actually.

--
David Fletcher.

Otto Grimwald

unread,
Dec 31, 2009, 8:35:37 AM12/31/09
to
David Fletcher wrote:

> As a workaround to make it build, you could just replace the two
> occurrences of std::numeric_limits<unsigned>::max() with a moderately
> big number, say 10000. That's probably an improvement, actually.
>

Well, thank you, it seems it could build this part this way. But when
trying to compile nitfol or glulxe, I get several undefined reference,
such as:


/boot/home/Desktop/qglk-src-0.1.0/qglk-core/../../../../common/include/QtCore/qbytearray.h:87:
undefined reference to `qstrcmp(QByteArray const &, char const *)'
collect2: ld returned 1 exit status
make[1]: *** [nitfol] Error 1

I've just checked again the qt-haiku website, and today they made a new
announce where they released new Qt binary programs, and they advice to
get a revision of haiku OS higher than the one I have, so I'll get this
one first and try to recompile QGlk later (probably next year now... ;) )

Regards, and happy new year!

0 new messages