How do I build the TADS 3 interpreter on Windows 10?

I would like to make some additions to the interpreter, but I can’t get the source code build. Can anyone help?

(it can’t find the file “os.h”, and others)

1 Like

CAVEAT: I’m neither a TADS user nor a TADS developer.

I’d suggest getting in contact with the author of the specific TADS package that you’re trying to work with.

What version of TADS? Where did you get it? There are several variants, some on github and some elsewhere, including

I took a quick look at the source code that’s in the download available on at TADS Downloads

The build files included in the zip file’s Win32 directory are ancient and are not compatible with Microsoft’s current native Windows development system.

If I were to try to build it (which I’m not, sorry), I’d probably start with the Linux source code and build it under Cygwin (a free linux-like envorinment for Windows).

First, if you were to compile the T3 interpreter, you need three separate source packages: the T3 sources, the T2 sources (this is where os.h lives), and the HTML TADS sources (the GUI frontend).

Unfortunately, as @selden mentioned, the included project/make files are written for a compiler toolchain that is quite literally from the last millennium (Visual C++ 5.0, released in 1997), so you’ll either need to set up a VM with Windows NT 4.0 and VC++5, or port everything over to a modern build system like MSBuild (a Visual Studio .vcxproj project file) or CMake.

(Alternatively, you could make your extensions to QTads, a port of the HTML T2/T3 interpreters that is cross-platform and currently maintained, so it should be more straightforward to build.)


Yeah, I l’d suggest QTads too, I’ve downloaded the source for that before…

1 Like

Thanks for the information. I am torn between Ubunu in a VirtualBox VM and trying to use Window’s Bash shell with VS Code. I am watching some videos about that now.

Now, this is interesting. My aim is to develop a plugin system for extensions. The idea is to offer a socket based interface which plugins/addons can use without having to rebuild the code. If I an get that working with QTads, maybe I can persuade Mike to port it into the official interpreter.

Thanks for the advice. I am off to look at Qtads

If you mean Mike Roberts, I don’t think he’s anywhere to be found…

1 Like

I emailed him over Xmas, with my idea for a plugin system and he sent a very encouraging reply


You have an active email for Mike Roberts?!


Unless it’s supposed to be private, I’d love to have it… I’ve always wanted to give him
my compliments and thanks for making T3…


Absolutely, he has an enormous legacy that should be honored.