Labs64 NetLicensing Client (C++)
C++ wrapper for Labs64 NetLicensing RESTful API
Visit Labs64 NetLicensing at https://netlicensing.io
- C++11 toolset + STL
- cmake
- libcurl (with libcurl's transitive dependencies)
- jsoncpp (included)
- boost (optional, needed for unit tests)
- Building NetLicensing C++ client library with static linking is currently not supported, feel free to contribute.
- Builds verified with libcurl version 7.64.0 and cmake version 3.13.4.
| Platform | Build toolset |
|---|---|
| Windows 7 | Visual studio 14 2015 x86 - x64 |
| Windows 7 | Visual studio 15 2017 x86 - x64 |
| Windows 10 | Visual studio 14 2015 x86 - x64 |
| Windows 10 | Visual studio 15 2017 x86 - x64 |
| macOS Mojave | Xcode 10.1 |
- Download curl from https://github.com/curl/curl/releases
cd curl_directory\winbuild- Read
BUILD_WINDOWS.txtfor building instructions - In VC command prompt execute:
(replace
nmake /f Makefile.vc VC=15 MACHINE=x64 ENABLE_WINSSL=yes MODE=dllVCandMACHINEwith your actual version / platform) - If you get the error
U1073orU1077- executecurl_directory\buildconf.batfirst and repeat thenmakecommand - Your
curlbuild directory will be in sub directorybuilds\
- Download the latest release and unpack to
NetLicensingClient-cpp(or checkout master to build the latest development version) - In the
NetLicensingClient-cppdirectory createbuild\subdirectory - Specify curl location using
CMAKE_PREFIX_PATH=your_curl_build_directory. curl build directory must containbin,include, andlibsubdirs. - In VC command prompt execute:
(replace
cd NetLicensingClient-cpp\build cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_PREFIX_PATH=your_curl_build_directory-Gargument with your actual version / platform, seecmakedocumentation) - Open solution created in
NetLicensingClient-cpp\builddirectory in Visual Studio and build the library and demo client.
- Download the latest release and unpack to
NetLicensingClient-cpp(or checkout master to build the latest development version) - Install libcurl (for development, including C headers and libraries). E.g. in Ubuntu:
sudo apt-get install libcurl4-openssl-dev - Install boost:
sudo apt-get install libboost-all-dev - In the
NetLicensingClient-cppdirectory createbuild/subdirectory - Execute:
cd NetLicensingClient-cpp/build cmake .. make
Unit tests require Boost Unit Test Framework. To build project with the unit tests activated add cmake option -DBUILD_TESTS=yes. The tests must be executed from tests/ subdirectory on Linux or tests\Debug\ on Windows in order to properly locate the JSON files with test data.
TODO: full description
-
Prepare container
- Image: ubuntu:22.04
- apt-get update
- apt-get install cmake g++ libcurl4-openssl-dev libboost-all-dev
-
Map
NetLicensingClient-cppor clone it inside the container -
Build as described in Linux Build
TODO: full description
-
Prepare environment:
- Install XCode 10.1+
- Install
homebrew libcurlis providedbrew install cmake boost
-
Build as described in Linux Build
libcurl dynamic library should be either installed system-wide or otherwise available for the loading at run-time (typically located in the same directory as your executable)
