Configure PLplot for Visual CXX CLI

From PLplotWiki
Revision as of 05:55, 20 March 2009 by VZ (Talk | contribs) (Explain the importance of setting the PATH before building and mention that wxWidgets DLLs should be in the PATH as well if you use them.)

Jump to: navigation, search

You need a working Visual C++ installation. Start the command line interface and issue the following commands:

cd plplot
mkdir buildnmake
cd buildnmake
cmake -G "NMake Makefiles" -DCMAKE_INSTALL_PREFIX=install ..
path=...\plplot\buildnmake\dll;%PATH%
nmake
nmake install

This will build a shared plplot library and install all files into the directory plplot\buildnmake\install.

Note: during the build the various DLLs are put in the subdirectory "dll" under the build directory. It is important that this directory is contained in the path during the build, if you use the dynamic drivers facility as otherwise calls to get-drv-info will fail and the drivers won't be installed successfully. In addition, if you use wxWidgets driver you also must ensure that the wxWidgets DLL itself is in the path as well.

Alternatively you can use the GUI version of CMake, an easy-to-use user-interface that presents the available build options and lets you set them. It is mostly a matter of taste, but:

  • The GUI version provides an overview of the build opions that are available
  • The command-line version is particularly useful if you are experimenting with these options, as it can be run from a batchfile

Some of the options that are available for cmake:

  • -DBUILD_SHARED_LIBS=OFF: static build of plplot
  • -DCMAKE_VERBOSE_MAKEFILE=ON: makefiles provide verbose informations
  • -DBUILD_TEST=ON: all examples will be built also (for test purposes)
  • Configuration of wxWidgets driver

If you used the -DBUILD_TEST=ON option, you need to copy some files in order to run the examples:

cd examples\c
copy ..\..\..\data\*.fnt .

and additionally some dlls for a shared plplot built:

copy ..\..\dll\plplotd.dll .
copy ..\..\dll\plplotcxxd.dll . (for c++ examples)
copy ..\..\dll\csirocsa.dll . (if library was built)

and for the wxWidgets driver (if wxWidgets library is shared):

copy %WXWIN%\lib\gcc_dll\wxmsw26d_vc_custom.dll .

if this dll is not in the path.