![]() | Compiling Regina Into Your Projects |
Prev | Next |
Regina offers its mathematical core as a C++ shared library. This means that your own C++ applications can make use of Regina's functionality, much like they might use any other mathematical library.
Regina is released under the GNU General Public License, which restricts how you may use it in other software. These restrictions are to benefit and encourage mathematical software that is free to use, modify and redistribute. For further information, please read the license details or write and ask if you have any specific questions.
To build Regina into your own projects, you must install Regina's development files; that is, the C++ headers and development libraries.
If you downloaded an RPM-based GNU/Linux package (e.g., for Fedora, Mandriva or SUSE), you should already have the development files installed. Check that the headers are present in
/usr/include/regina/
.If you downloaded a Debian-based GNU/Linux package (e.g., for Debian or Ubuntu), you will need to install the separate package
regina-normal-dev
. Check that the headers are present in/usr/include/regina-normal/
.If you built Regina yourself, you should already have the C++ headers and development libraries installed. Check that the headers are present in
/usr/local/include/regina/
(or wherever you chose to install Regina).If you use Windows or if you downloaded the drag-and-drop app bundle on MacOS X, the development files are not available. This is because it is too difficult at present to ensure that your development environment is compatible.
Regina uses some other libraries in turn, and you will need the development files for these libraries also. You should install these through ready-made packages if at all possible: they are available in every major GNU/Linux distribution. The extra libraries you will need are:
- zlib compression library (libz)
Look for a package named
zlib1g-dev
,zlib1-devel
orzlib-devel
.- GNU multiprecision arithmetic libraries for C/C++ (libgmp and libgmpxx)
Look for a package named
libgmp-dev
,lib64gmp-devel
,libgmp-devel
orgmp-devel
. Some distributions (such as Mandriva) ship the C++ library separately in a package namedgmpxx-devel
.- GNOME XML library (libxml2)
Look for a package named
libxml2-dev
,lib64xml2-devel
orlibxml2-devel
.- Boost headers
Look for a package named
libboost-dev
orboost-devel
. You only need the headers (there is no need for pre-built libraries such as Boost.Regex or Boost.Python).- Tokyo Cabinet library (libtokyocabinet)
Look for a package named
libtokyocabinet-dev
,libtokyocabinet-devel
ortokyocabinet-devel
.
Prev | Contents | Next |
Tools Options | Up | Compiler and Linker Flags |