Third Party Libraries: Difference between revisions

From LabRPS Documentation
Jump to navigation Jump to search
(Created page with "{{Docnav |Compiling (Speeding up) |Third Party Tools }} {{TOCright}} == Overview == These are libraries which LabRPS uses as third party dependencies during compilation. They are usually [https://en.wikipedia.org/wiki/Dynamic_loading dynamically linked libraries] and have an extension {{incode|.so}} in Linux/MacOS and {{incode|.dll}} in Windows, and are accompanied by their header files {{incode|.h}} or {{incode|.hpp}}...")
 
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Docnav
{{Docnav
|[[Compiling_(Speeding_up)|Compiling (Speeding up)]]
|[[Compiling|Compiling]]
|[[Third_Party_Tools|Third Party Tools]]
|[[Third_Party_Tools|Third Party Tools]]
}}
}}
Line 7: Line 7:


== Overview ==
== Overview ==
These are libraries which LabRPS uses as third party dependencies during compilation. They are usually [https://en.wikipedia.org/wiki/Dynamic_loading dynamically linked libraries] and have an extension {{incode|.so}} in Linux/MacOS and {{incode|.dll}} in Windows, and are accompanied by their header files {{incode|.h}} or {{incode|.hpp}} or similar. If a modified library is necessary, or a wrapper class is needed, the code of the modified library, or the wrapper, has to become part of the LabRPS source code, and compiled together with it.
These are libraries which LabRPS uses as third party dependencies during compilation. They are usually [https://en.wikipedia.org/wiki/Dynamic_loading dynamically linked libraries] and have an extension {{incode|.so}} in Linux/MacOS and {{incode|.dll}} in Windows, and are accompanied by their header files {{incode|.h}} or {{incode|.hpp}} or similar.  
 
The dependencies need to be installed in the system before proceeding with compilation; see [[Compile_on_Linux|compile on Linux]], [[Compile_on_Windows|compile on Windows]], and [[Compile_on_MacOS|compile on MacOS]] for more information.
The dependencies need to be installed in the system before proceeding with compilation; see [[Compile_on_Linux|compile on Linux]], [[Compile_on_Windows|compile on Windows]], and [[Compile_on_MacOS|compile on MacOS]] for more information.
If you are compiling using Windows, consider using the [[#LibPack|LibPack]] instead of trying to install the libraries individually.


== Links ==   
== Links ==   
Line 89: Line 86:
Eigen is used in LabRPS for many vector operations in 3D space. To learn more, visit [http://eigen.tuxfamily.org/index.php?title=Main_Page Eigen homepage].
Eigen is used in LabRPS for many vector operations in 3D space. To learn more, visit [http://eigen.tuxfamily.org/index.php?title=Main_Page Eigen homepage].


==== Zlib ====   
=== Zlib ===   


'''Version:''' 1.0 or higher
'''Version:''' 1.0 or higher
Line 96: Line 93:


Zlib is designed to be a free, general-purpose, lossless data-compression library for use on any computer hardware and operating system. It implements the {{incode|DEFLATE}} compression algorithm commonly used in {{incode|.zip}} and {{incode|.gzip}} files.
Zlib is designed to be a free, general-purpose, lossless data-compression library for use on any computer hardware and operating system. It implements the {{incode|DEFLATE}} compression algorithm commonly used in {{incode|.zip}} and {{incode|.gzip}} files.
A copy of this library is included in the source code of LabRPS so it is compiled together with it.


{{Docnav
{{Docnav

Latest revision as of 13:27, 29 September 2022

Overview

These are libraries which LabRPS uses as third party dependencies during compilation. They are usually dynamically linked libraries and have an extension .so in Linux/MacOS and .dll in Windows, and are accompanied by their header files .h or .hpp or similar. The dependencies need to be installed in the system before proceeding with compilation; see compile on Linux, compile on Windows, and compile on MacOS for more information.

Links

Qt >= 5.4 https://www.qt.io/
Qwt >= 5.1.0 http://qwt.sourceforge.net/index.html/
QwtPlot3D >= 0.2.6 http://qwtplot3d.sourceforge.net/
GSL >= 1.8 http://www.gnu.org/software/gsl/
muParser >= 1.28 http://beltoforion.de/en/muparser/
Eigen3 >= 3.0 http://eigen.tuxfamily.org/index.php?title=Main_Page
Zlib >= 1.0 http://www.zlib.net/, https://github.com/madler/zlib

Details

Qt

Version: 4.1 or higher

License: GPL v2.0/v3.0 or Commercial; from version 4.5 on also LPGL v2.1.

Qt is one of the most popular graphical user interface (GUI) toolkits available in the open source world. LabRPS uses this toolkit to draw the interface of the program. For this, the Qt Designer application is very useful as it allows developers to quickly draw the dialogs and windows, export them as XML resource files, and then load these interfaces at runtime.

Further information about Qt libraries and their programming documentation are available at Qt Documentation.

Qwt

Version: 5.1.0 or higher

License: Qwt License, Version 1.0

The Qwt library contains GUI Components and utility classes which are primarily useful for programs with a technical background. Beside a framework for 2D plots it provides scales, sliders, dials, compasses, thermometers, wheels and knobs to control or display values, arrays, or ranges of type double. It is used in LabRPS for 2D graph.

QwtPlot3D

Version: 0.2.6 or higher

License: zlib licensed

QwtPlot3D is not a program, but a feature-rich Qt/OpenGL-based C++ programming library, providing essentially a bunch of 3D-widgets for programmers. The library is for 3D graph in LabRPS.

GSL

Version: 1.8 or higher

License: GNU General Public License

The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. The library provides a wide range of mathematical routines such as random number generators, special functions and least-squares fitting. There are over 1000 functions in total with an extensive test suite.

muParser

Version: 1.28 or higher

License: GNU General Public License

The main objective muparser is to provide a fast, easy and secure way of doing this. muparser is an extensible high performance math expression parser library written in C++.

Eigen3

Version: 3.0 or higher

License: Starting from the 3.1.1 version, it is licensed under the Mozilla Public License 2.0. Earlier versions were licensed under the GNU Lesser General Public License 3.

Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms.

If you just want to use Eigen, you can use the header files right away. There is no binary library to link to, and no configured header file. Eigen is a pure template library defined in the headers.

Eigen is used in LabRPS for many vector operations in 3D space. To learn more, visit Eigen homepage.

Zlib

Version: 1.0 or higher

License: zlib license

Zlib is designed to be a free, general-purpose, lossless data-compression library for use on any computer hardware and operating system. It implements the DEFLATE compression algorithm commonly used in .zip and .gzip files.