muParser supports various win32 command-line compilers:
# Set to 1 to build debug version [0,1] # 0 - Release # 1 - Debug DEBUG = 0 # Set to 1 to build shared (DLL) version [0,1] # 0 - Static # 1 - DLL SHARED = 0 # Set to 1 to compile samples [0,1] SAMPLES = 1The muParser library is created in the 'lib' folder and the sample binaries are created in samples\example1 or samples\example3.
![]() |
samples\example1 can be compiled *only* when building muParser as a STATIC library (SHARED=0). samples\example3 can be compiled *only* when building muParser as a SHARED library (SHARED=1). |
muParser can be installed just extracting the sources somewhere and then, from a terminal, typing:
cd [path to muParser] ./configure [--enable-shared=yes/no] [--enable-samples=yes/no] [--enable-debug=yes/no] make [sudo*] make install* = this command must be executed with root permissions and thus you have to use 'sudo' or just 'su' to gain root access. Note that installation is not strictly required.
The "make" step will create the muParser library in 'lib' and the sample binary in samples/example1. The samples/example2 and samples/example3 are win32-specific and thus won't be built.
mkdir mybuild && cd mybuild && ../configure && maketo put all object files in the "mybuild" directory. If you want to use muParser library in your programs, you can use the pkg-config program (this works only if muParser was installed with 'make install' !). The commands:
Sometimes including the library sources directly into an application is the easiest possibility to avoid linker conflicts originating from different versions of the runtime libraries used by the parser and your project. In order to use the parser simply include the following files into your project:
muParser.cpp
muParserBase.cpp
muParserBytecode.cpp
muParserCallback.cpp
muParserError.cpp
muParserTokenReader.cpp
muParser.h
muParserBase.h
muParserBytecode.h
muParserCallback.h
muParserDef.h
muParserError.h
muParserFixes.h
muParserStack.h
muParserToken.h
muParserTokenReader.h
mu
(MathUtils). So make sure to either
add a using
using namespace mu;to your files or reference all classes with their complete name.