Anytime you see an error of the type "undefined reference", it's a linker error. What's happening is that your code is referencing some code that somebody else wrote and compiled into a library of some sort, and that code has not been incorporated into your final executable yet.
It's all well and good to
#include a header file to some 3rd party code but that only takes care of the interfaces and is sufficient during the compilation process. Once that's done, all your compiled code needs to be brought together with all 3rd party compiled code (packaged together in static libraries) to make the final executable file and that's the job of the linker.
The code you're looking for will be in a static library file somewhere in the Ezust directory. I can't remember what the name is exactly, you'll have to read your Tut letters but you give the instruction to the linker to go fetch that library file and link it to your own code by using the
LIBS variable in your project file. You need to specify both the path to the library file (
-L) and the library file name itself(
-l, lower-case L).
eg. if I need to link in the following library file:
c:\my\other\sdk\libs\otherlibrary.a
I would add the following to the project file:
LIBS += -Lc:\my\other\sdk\libs -lotherlibrary
NB: no spaces must be between the
-L/
-l and the text that follows, and the file extension for the library file can be left off. (actually, the Qt manual recommends not including it).
The reason for splitting the path from the library file is because it's often the case that more than one static library needs to be linked that sits in the same directory as another library.
eg. if I also need to link in the following library file as well as the one above:
c:\my\other\sdk\libs\otherlibrary2.a
My project file would change to:
LIBS += -Lc:\my\other\sdk\libs -lotherlibrary -lotherlibrary2
If I remember correctly, Ezust makes you create an environmental variable for the path to it's library and calls it
CPPLIBS. Environmental variables can be referenced inside project files using the
$$(xxx) syntax, where '
xxx' is the variable's name.