Installation You need a C++ compiler to compile and use YAZ++. The software was implemented using GCC so we know that works well with YAZ++. From time to time the software is compiled on Windows using Visual C++. Other compilers should work too. Let us know of portability problems, etc. with your system. YAZ++ is built on top of the YAZ toolkit. You need to install that first. For some platforms there are binary packages for YAZ.
Installation on Unix (from source) On UNIX, the software is compiled as follows: $ ./configure $ make $ su # make install You can supply options for the configure script. The most useful ones are: --prefix directory Specifies installation prefix. By default /usr/local is used. --with-yaz directory Specifies the location of yaz-config. The yaz-config program is generated in the source directory of YAZ as well as the binaries directory when YAZ is installed (via make install). If you don't supply this option, configure will look for yaz-config in directories of the PATH environment - which is nearly always what you want. For the whole list of configure options, refer to the help: ./configure --help. Configure uses GCC's C/C++ compiler if available. To specify another compiler, set CXX. To use other compiler flags, specify CXXFLAGS. To use CC with debugging you could use: CXXFLAGS="-g" CXX=CC ./configure This is what you have after successful compilation: src/libyazpp.la The YAZ++ library. This library gets installed in your libraries directory (prefix/lib). src/libzoompp.la The ZOOM-C++ library. This library gets installed in your libraries directory (prefix/lib). include/yazpp/*.h Various C++ header files, which you'll need for YAZ++ development. All these are installed in your header files area (prefix/include/yazpp). yazpp-config A Bourne shell-script utility that returns the values of the CFLAGS and LIBS environment variables needed in order to compile your applications with the YAZ++ library. This script gets installed in your binaries directory (prefix/bin). zoom/zclient ZOOM C++ demonstration client that uses the ZOOM C++ classes. This client does not get installed in the system directories. src/yaz-my-client YAZ C++ demonstration client. This client does not get installed in the system directories. src/yaz-my-server YAZ C++ demonstration server. This server does not get installed in the system directories.
Installation on Windows YAZ++ is shipped with "makefiles" for the NMAKE tool that comes with Microsoft Visual Studio. Version 2003 (7) and 2005 (8) has been tested. We expect that YAZ++ compiles with versions 5 and 6 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). YAZ_DIR Specifies the directory of the YAZ source. When satisfied with the settings in the makefile, type nmake 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/yazpp_1.dll YAZ++ DLL . Includes ZOOM C++ as well. For the debug version lib/yazpp_1_d.dll is created instead. lib/yazpp_1.lib Import library for yazpp_1.dll. For the debug version lib/yazpp_1_d.lib is created instead. bin/yaz-my-client.exe Z39.50 client demonstrating the YAZ++ API. bin/yaz-my-server.exe Z39.50 server demonstrating the YAZ++ API. bin/zclient.exe ZOOM C++ demo client. A simple WIN32 console application.