|
|
|
Index Data
>
YAZ
>
YAZ User's Guide and Reference
>
WIN32
The easiest way to install YAZ on Windows is by downloading
an installer from
here.
The installer comes with source too - in case you wish to
compile YAZ with different Compiler options etc.
Compiling from Source on WIN32
YAZ is shipped with "makefiles" for the NMAKE tool that comes
with
Microsoft Visual Studio.
Version 6 and .NET has been tested. We expect that YAZ compiles
with version 5 as well.
Start a command prompt and switch the sub directory
WIN where the file makefile
is located. Customize the installation by editing the
makefile file (for example by using notepad).
The following summarizes the most important settings in that file:
-
DEBUG
-
If set to 1, the software is
compiled with debugging libraries (code generation is
multi-threaded debug DLL).
If set to 0, the software is compiled with release libraries
(code generation is multi-threaded DLL).
-
HAVE_TCL, TCL
-
If HAVE_TCL is set to 1, nmake will
use the ASN.1 compiler (Tcl based). You must set
TCL to the full path of the Tcl
interpreter.
If you do not have Tcl installed, set
HAVE_TCL to 0.
-
HAVE_BISON,
BISON
-
If GNU Bison is present, you might set HAVE_ICONV
to 1 and specify the Bison executable in BISON.
Bison is only required if you use the CVS version of
YAZ or if you modify the grammar for CQL
(cql.y).
A Windows version of GNU Bison is part of
unxutils.
-
HAVE_ICONV,
ICONV_DIR
-
If HAVE_ICONV is set to 1, YAZ is compiled
with iconv support. In this configuration, set
ICONV_DIR to the iconv source directory.
-
HAVE_LIBXML2,
LIBXML2_DIR
-
If HAVE_LIBXML2 is set to 1, YAZ is compiled
with SRU support. In this configuration, set
LIBXML2_DIR to the
libxml2 source directory
and
ZLIB_DIR to the zlib directory.
Windows versions of libxslt, libxml2, zlib and iconv can be found
Igor Zlatković' site.
Note
YAZ is not using zlib but libxml2 is depending on it.
-
HAVE_LIBXSLT,
LIBXSLT_DIR
-
If HAVE_LIBXSLT is set to 1, YAZ is compiled
with XSLT support. In this configuration, set
LIBXSLT_DIR to the
libxslt source directory.
Note
libxslt depends libxml2.
-
HAVE_ICU,
ICU_DIR
-
If HAVE_ICU is set to 1, YAZ is compiled
with ICU support.
In this configuration, set
ICU_DIR to the
ICU source directory.
When satisfied with the settings in the makefile, type
nmake
Note
If the nmake command is not found on your system
you probably haven't defined the environment variables required to
use that tool. To fix that, find and run the batch file
vcvars32.bat. You need to run it from within
the command prompt or set the environment variables "globally";
otherwise it doesn't work.
If you wish to recompile YAZ - for example if you modify
settings in the makefile you can delete
object files, etc by running.
nmake clean
The following files are generated upon successful compilation:
-
bin/yaz3.dll /
bin/yaz3d.dll
-
YAZ Release/Debug DLL.
-
lib/yaz3.lib /
lib/yaz3d.lib
-
Import library for yaz3.dll /
yaz3d.dll.
-
bin/yaz_icu3.dll /
bin/yaz_icu3d.dll
-
Release/Debug DLL for the ICU wrapper utility.
Only build if HAVE_ICU is 1.
-
lib/yaz_icu3.lib /
lib/yaz_icu3d.lib
-
Import library for yaz_icu3.dll /
yaz_icu3d.dll.
-
bin/yaz-ztest.exe
-
Z39.50 multi-threaded test/example server. It's a WIN32
console application.
-
bin/yaz-client.exe
-
YAZ Z39.50 client application. It's a WIN32 console application.
See chapter YAZ client for more
information.
-
bin/yaz-icu.exe
-
This program exposes the ICU wrapper library if that
is enabled for YAZ. Only if ICU is available this program is
build.
-
bin/zoomsh.exe
-
Simple console application implemented on top of the
ZOOM functions.
The application is a command line shell that allows you to enter
simple commands to perform ZOOM operations.
-
bin/zoomtst1.exe,
bin/zoomtst2.exe, ..
-
Several small applications that demonstrates the ZOOM API.
How to make apps using YAZ on WIN32
This section will go though the process of linking your WIN32
applications with YAZ.
Some people are confused by the fact that we use the nmake
tool to build YAZ. They think they have to do that too - in order
to make their WIN32 applications work with YAZ. The good news is that
you don't have to. You can use the integrated environment of
Visual Studio if desired for your own application.
When setting up a project or Makefile you have to set the following:
- include path
-
Set it to the include directory of YAZ.
- import library
yaz3.lib
-
You must link with this library. It's located in the
sub directory lib of YAZ.
If you want to link with the debug version of YAZ, you must
link against yaz3d.lib instead.
- dynamic link library
yaz3.dll
-
This DLL must be in your execution path when you invoke
your application. Specifically, you should distribute this
DLL with your application.
|