2.2.2 Installation on Windows with MSVC

The installation procedure consists of three steps:

  1. Unpack PyQwt3D-0.1.6.tar.gz.
  2. Do a quick start to test the installation by running the commands:
    cd PyQwt3D-0.1.6
    cd configure
    python configure.py -Q ..\qwtplot3d-0.2.7
    nmake
    nmake install
    
    where the folder C:\sources\of\qwtplot3d must contain the folders 3rdparty, include and src. You can also edit one of the files go3.bat, go4.bat, or go-mingw.bat to suit your setup.
  3. Fine tune (optional) by running the commands:
    python configure.py -Q C:\sources\of\qwtplot3d -l zlib -D HAVE_ZLIB
    nmake
    nmake install
    
    to enable compression of PostScript and PDF files. Add
    -L C:\folder\containing\zlib.lib
    
    to the configure.py options, if the linker fails to find the zlib library.

Note: The files configure\go3.bat and configure\go4.bat are examples of how to automatize the invokations of configure.py, nmake, and nmake install.

The file configure\go-mingw.bat is used to build PyQwt3D with MinGW after building libpng by hand.

Adapt and use one of those files.

Note: If you run into problems, send a log to the mailing list.

Try

go3.bat >LOG.txt
or
go4.bat >LOG.txt
to make a log.

Note: The configure.py script takes many options. The command
python configure.py -h
displays a full list of the available options:
Usage: python configure.py [options]

Each option takes at most one argument, but some options
accumulate arguments when repeated. For example, invoke:

	python configure.py -I . -I ..

to search the current *and* parent directories for headers.

Options:
  -h, --help            show this help message and exit

  Common options:
    -3, --qt3           build for Qt3 and PyQt [default Qt4]
    -4, --qt4           build for Qt4 and PyQt4 [default Qt4]
    -Q /sources/of/qwtplot3d, --qwtplot3d-sources=/sources/of/qwtplot3d
                        compile and link the QwtPlot3D source files in
                        /sources/of/qwtplot3d statically into PyQwt3D
                        (required on Windows)
    -Z /sources/of/zlib, --zlib-sources=/sources/of/zlib
                        compile and link the QwtPlot3D source files in
                        /sources/of/zlib statically into PyQwt3D (the -Z
                        option is ignored without the -Q option)
    -D HAVE_ZLIB, --extra-defines=HAVE_ZLIB
                        add an extra preprocessor definition (HAVE_ZLIB
                        enables compression of EPS/PDF/PS/SVG output and
                        HAVE_LIBPNG enables pixmaps in the SVG output, but
                        both defines are ignored without the -Q option)
    -I /usr/include/qwtplot3d, --extra-include-dirs=/usr/include/qwtplot3d
                        add an extra directory to search for headers (the
                        compiler must be able to find the QwtPlot3D headers
                        without the -Q option)
    -L /usr/lib/qt3/lib, --extra-lib-dirs=/usr/lib/qt3/lib
                        add an extra directory to search for libraries (the
                        linker must be able to find the QwtPlot3D library
                        without the -Q option)
    -j N, --jobs=N      concatenate the SIP generated code into N files
                        [default 1 per class] (to speed up make by running
                        simultaneous jobs on multiprocessor systems)
    -l z, --extra-libs=z
                        add an extra library (to link the zlib library, you
                        must specify "zlib" or "zlib1" on Windows and "z" on
                        POSIX and MacOS/X)

  Make options:
    --debug             enable debugging symbols [default disabled]
    --extra-cflags=EXTRA_CFLAG
                        add an extra C compiler flag
    --extra-cxxflags=EXTRA_CXXFLAG
                        add an extra C++ compiler flag
    --extra-lflags=EXTRA_LFLAG
                        add an extra linker flag

  SIP options:
    -x EXTRA_SENSORY_PERCEPTION, --excluded-features=EXTRA_SENSORY_PERCEPTION
                        add a feature for SIP to exclude (normally one of the
                        features in sip/features.sip)
    -t ESP_3_2_1, --timelines=ESP_3_2_1
                        add a timeline for SIP to adapt to a library version
                        (normally one of the timeline options in
                        sip/timelines.sip)
    --sip-include-dirs=SIP_INCLUDE_DIR
                        add an extra directory for SIP to search
    --trace             enable trace of the execution of the bindings [default
                        disabled]

  Detection options:
    --disable-numarray  disable detection and use of numarray [default
                        enabled]
    --disable-numeric   disable detection and use of Numeric [default enabled]
    --disable-numpy     disable detection and use of NumPy [default enabled]

  Install options:
    --module-install-path=MODULE_INSTALL_PATH
                        specify the install directory for the Python modules

Note: Since PyQwt3D wraps some classes and functions that are not exported from a QwtPlot3D dynamic load library, you have to compile and link the QwtPlot3D sources into PyQwt3D's extension module.