Skip to content

Latest commit

 

History

History
51 lines (34 loc) · 2.39 KB

README.md

File metadata and controls

51 lines (34 loc) · 2.39 KB

Library MDF version 2.2

Summary

The MDF library repository implements an interface against the ASAM Measurement Data File (MDF). It supports reading and writing of MDF files version 3 and 4. The release 2.2 of the project support reading and writing of MDF files up to version 4.2.

  • MDF Lib is a C++ static library.
  • MDF Lib Test is a C++ unit tests application for mdflib.
  • MDF Library (CMAKE) is a C++ shared library, and it contains .NET (C++/CLI) Assembly(need to be built with msvc>=19.36).
  • MDF Library (MSVC only) is C++/CLI assembly DLL. It uses MSVC (vcxproj) build.
  • MDF Library example is a C++ application that use MDF library as dll/so.
  • MDF Library test net is a C# unit tests application that use the .NET Assembly of MDF library.
  • MDF Viewer. Simple GUI application that list the contents of an MDF file.
  • MDF to CSV is a CLI application that convert an MDF file to one or more CSV files.
  • MDF gRPC Server. Microservice for reading and writing of MDF files. Under investigation.
  • MDF Python Library. Basic reading and writing for Python friends. Under development. The AsamMDF Python library can also be used.

The library and its applications, compiles/runs on Windows and Linux operating system. Note that the macOS also may work but the compilers in macOS currently have some issues with the C++ 17 support i.e. need some trick to compile.

Documentation

HTML documentation

Installation

Windows Install (exe)

Building

The project uses CMAKE for building except for the MDF C++/CLI assembly that uses the Visual Studio vcxproj build approach.

The following third-party libraries are used and needs to be downloaded and pre-built.

  • ZLIB Library. Set the 'ZLIB_ROOT' variable to the ZLIB root path.
  • EXPAT Library. Set the 'EXPAT_ROOT' variable to the ZLIB root path.
  • Boost Library. Required if the GUI applications should be built.
  • WxWidgets Library. Required if the GUI applications should be built.
  • Google Test Library. Is required for running and build the unit tests.
  • Doxygen's application. Is required if the documentation should be built.

Also, you can use vcpkg to import the dependencies.

License

The project uses the MIT license. See external LICENSE file in project root.