The Visual Studio projects in these subdirectories build static and dynamic
versions of the Gnu Scientific Library version 1.8. In addition, test
programs can be built for each of the gsl 1.8 modules providing test
code, and for the example programs distributed with gsl. The projects are
collected in 3 Visual Studio 2005 solutions. Solution
libgsl.sln
builds the libraries.
Solution test_gsl.sln
builds the test programs.
Solution gsl_examples.sln
builds the example programs.
The test and example programs are built to test all versions of the gsl
libraries (DLL and static library, debug and release).
The VC8 projects included are:
VC8 Project | Description | ||||||||||
copy_gsl_headers |
Utility project to copy the public gsl headers from the individual subdirectories to the ./gsl subdirectory. This location is where all the library sources look for the headers, and must be performed before any compilation. To enforce this, all projects performing gsl compilation are dependent on this project. The copying is performed in a custom build step if the target header is missing or older than the corresponding header in the gsl source tree. |
||||||||||
install_libgsl |
Utility project providing simple installation using a build event. The event copies the dll's, libraries, documentation, and headers to a root directory specified in the build event. Modify the event code to change the target destination. Note that this project is not dependent on any of the library-building projects. The installer will simply copy what it finds, so build all desired libraries before building this project. This project is not run automatically by any of the solution configurations. The user needs to explicitly build it if desired. |
||||||||||
libgsl |
Builds the gsl libraries. Target depends on the build configuration:
|
||||||||||
libgslcblas |
Builds the gsl cblas support libraries. Target depends on the build configuration:
|
||||||||||
copy_dlls |
Utility project used by the |
||||||||||
test_xxx |
Builds the test program for gsl module xxx using the appropriate version of the gsl library. Whether the gsl static library or dll is used is based on the build configuration chosen. |
||||||||||
ex_xxx |
Builds the example program for xxx.c (in the doc\examples directory) using the appropriate version of the gsl library. Whether the gsl static library or dll is used is based on the build configuration chosen. |
The libraries have been tested using the standard gsl test programs, with all tests passing. All functional example programs were also executed successfully.
The libraries were built using Visual C++ Express 2005 (Visual C++ 8). To rebuild from the source, use the following steps:
libgsl.sln
solution.libgsl
project
to use your library.install_libgsl
project to point to the desired location. Then build the install project to
complete the installation.test_gsl.sln
solution and build the tests.gsl_examples.sln
solution and build the examples.
Configuration | gsl Library | VC Runtime Library |
Release-StaticLib | libgsl.lib | Multi-Threaded (/MT) |
Release-DLL | libgsl.dll libgsl_dll.lib |
Multi-Threaded DLL (/MD) |
Debug-StaticLib | libgsl_d.lib | Multi-Threaded Debug (/MTd) |
Debug-DLL | libgsl_d.dll libgsl_dll_d.lib |
Multi-Threaded Debug DLL (/MDd) |
Only minor tweaks to the original gsl 1.8 release source code were necessary to facilitate building the library using VC8 on Windows. Changes to the source code were:
#undef complex
in ./templates_on.h to avoid
clash with VC definition of complex in math.h. The macro is reset after use.