This library provides simple, but very useful platform-independent system`s mutexes API for C99 standard.
Requirements: Visual Studio, CMake
- Clone this repo and open it folder in Visual Studio.
- Visual Studio must generate MSBuild script through CMake automaticly. Just wait for it.
- Build library and tests through Viusal Studio GUI, using hotkey (Ctrl + Shift + B by default) or terminal.
Requirements: MSYS2 UCRT64, MinGW UCRT64, make, CMake.
- Run MSYS2 UCRT64 environment (recommended). Install all requirements if you haven't it.
- Clone this repo and go to repository root folder.
- Create folder
build. Go to this catalog. - Run
cmake -S .. -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX. Wait for generating Makefile. - Run
mingw32-makeand wait for building library.
Requirements: GCC, make, CMake
- Install all requirements if you haven't it.
- Clone this repo and go to repository root folder.
- Create folder
build. Go to this catalog. - Run
cmake -S ... Wait for generating Makefile. - Run
makeand wait for building library.
Just run mingw32-make install. Library will be installed to your MSYS2 system path (specified in -DCMAKE_INSTALL_PATH CMake option; /ucrt64 in this example).
Also just run sudo make install. Library will be installed to your system.
Warning
Manual linking is not recommended library usage way. Please use CMake for correct linking with library.
Include <libmutex.h> header where you need to use this library. That link your executable with library by adding flag to command line -lmutex. On Linux (POSIX) you already need to link you executable with pthread library, so just add flag -lpthread command line. If you use static version of this library, please specify definition LIBMUTEX_STATIC when you compile file, where included libmutex header.
If you using CMake in your project, add libmutex by same method or with using find_package:
find_package(libmutex REQUIRED)
target_link_libraries(<target> PRIVATE libmutex::mutex)This will fully automatily setup libmutex for your project. By default CMake will use static version of libmutex, so if you want to use dynamic version of this library, set BUILD_SHARED_LIBS flag in your CMake config command prompt to ON.
Rebuild library with CMake -DDEBUG=ON flag, rebuild & rerun you program to again got this error. You will see message in stderr like Unhandled system error.... Copy this message & open an issue on this repo.