Mdflib
Implementation of the ASAM MDF data file.
Install / Use
/learn @ihedvall/MdflibREADME
Library MDF version 2.3
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
Installation
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.
Related Skills
node-connect
343.1kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
90.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
343.1kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
343.1kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
