CUDS is a generic C library providing common data structures, utilities, and helper modules for C projects.
cuds/
├── include/ # Public headers
│ └── cuds/
│ ├── *.h
│ └──...
│
├── src/ # Source files
│ ├── Makefile
│ ├── module1/
│ │ ├── *.c
│ │ └── *.h
│ └──...
│
├── lib/ # Static / shared libraries (generated)
├── make/ # Makefile utilities
├── Makefile # Top-level Makefile
└── README.md
- C99-compatible compiler (GCC, Clang, MSVC with C99 support)
- GNU Make
- For Windows: MSYS2 + MinGW (ucrt64 or mingw64 recommended)
result: A generic result type for error handling
# Static library (release)
make static
# Shared library (release)
make shared
# Debug build
make static-debug
make shared-debug
# Help
make helpAdd the MSYS2 UCRT64 bin path to your PATH environment variable.
Building is then the same as on Linux.
- Clone the project
- Build the project (see Build)
- Copy the generated
include/folder (containing cuds public headers) to your project'sincludefolder - Copy the generated
lib/folder (containinglibcuds.aorlibcuds.so/cuds.dll) to your project'slibfolder
Include the public headers in your project:
#include "cuds/cuds.h" // Main header
// or
#include "cuds/result.h" // Specific headersLink with the generated library:
gcc -I/path/to/project/include -L/path/to/project/lib -lcuds myprogram.c -o myprogramRaphael CAUSSE (raphael.causse2@gmail.com)