In contrast to Linux, where installing development files for certain 3rd party libraries is only a matter of seconds (depending on the distribution), in Windows much more work needs to be done. In the following we provide extensive instructions how to install 3rd party libraries with the corresponding development files so that the PLplot library can use them.
You actually need none of these libraries to get PLplot compiled - they are only needed for added interpolation choices (QHull) for the core PLplot library or as dependencies of some device drivers.
QHull is a library/program to determine the convex hull of a set of points in n dimensions. The CSIRO library that is part of PLplot uses this for certain interpolation methods (convex hulls in n dimensions are related to Voronoi diagrams and Delaunay triangulations in n-1 dimensions). For further information visit http://www.qhull.org/ .
mkdir build
cd build
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=local ..
nmake install
set QHULLDIR=path-to\qhull-2003.1\build\local
set CMAKE_INCLUDE_PATH=%QHULLDIR%\include
set CMAKE_LIBRARY_PATH=%QHULLDIR%\lib
CMake is now able to find the qhull library and headers.
The AGG (Anti-Grain Graphics) Library is used by the wxWidgets driver (so there is no need for this library, if you don't use this driver) to display the plots nicely antialized. Note, that from Version 2.5 on, the AGG library is now GPL, so for the time being Version 2.4 should be used for binary packages of PLplot, which is free also for commercial applications. Visit http://www.antigrain.com for further information.
mkdir build
cd build
cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=local ..
nmake install
set AGGDIR=path-to\agg-2.4\build\local
set CMAKE_INCLUDE_PATH=%AGGDIR%\include
set CMAKE_LIBRARY_PATH=%AGGDIR%\lib
CMake is now able to find the agg library and headers.
The gd library is needed by the gd driver of PLplot to produce png, jpeg or gif files. See http://www.boutell.com/gd/ for details. Note, however, that the PLplot gd device driver has been deprecated since the release of PLplot-5.9.3 for reasons given in that release announcement and subsequent release announcements. The PLplot gd device driver will likely be eventually removed and much better alternatives are the cairo and qt device drivers which depend on the external GTK+ and Qt4 libraries.
set GDLIBDIR=C:\DevZone\gdwin32
set CMAKE_INCLUDE_PATH=%GDLIBDIR%
set CMAKE_LIBRARY_PATH=%GDLIBDIR%
CMake should than be able to find the gd library and headers and the gd driver (png, gif, jpeg) will be automatically compiled into the library.
FreeType 2 is a software font engine that is designed to be small, efficient, highly customizable, and portable while capable of producing high-quality output (glyph images). It can be used in graphics libraries, display servers, font conversion tools, text image generation tools, and many other products as well. http://www.freetype.org reveals more information.
mingw32-make
mingw32-make
copy objs\freetype.a objs\libfreetype.a
path_to_gnu_make\mingw32-make setup visualc
path_to_gnu_make\mingw32-make
CFLAGS ?= /nologo /c /Ox /W3 /WX /D_CRT_SECURE_NO_DEPRECATE
set FREETYPEDIR=C:\freetype-2.2.1
set CMAKE_INCLUDE_PATH=%FREETYPEDIR%\include
set CMAKE_LIBRARY_PATH=%FREETYPEDIR%\objs
CMake is now able to find the freetype library and headers.
See wxWidgets for other instructions.
wxWidgets is a cross platform GUI toolkit which also provides other common classes as wxString, wxMap etc. and is known to work well on Windows, Linux and MacOSX. The wxWidgets toolkit is used for the wxWidgets driver. Version 2.6.x and 2.8.x of wxWidgets can be used for the wxWidgets driver. Surf to http://www.wxwidgets.org for more information.
mingw32-make -f makefile.gcc SHARED=1 UNICODE=1 BUILD=release
set WXWIN=C:\wxWidgets-2.6.3
set PATH=%WXWIN%\lib\gcc_dll;%PATH%
nmake -f makefile.vc SHARED=0 UNICODE=1 BUILD=release
set WXWIN=C:\wxWidgets-2.6.3
set PATH=%WXWIN%\lib\vc_dll;%PATH%
CMake is now able to find the wxWidgets library and headers, if you additionally set the following cmake options for MinGW:
-DwxWidgets_LIB_DIR=%WXWIN%/lib/gcc_dll -DwxWidgets_CONFIGURATION=mswu -DENABLE_MIX_CXX=ON
and for Visual C++:
-DwxWidgets_LIB_DIR=%WXWIN%/lib/vc_dll -DwxWidgets_CONFIGURATION=mswu -DENABLE_MIX_CXX=ON
The content of this page is available under the GNU Free Documentation License 1.2.