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.txt
for building instructions - In VC command prompt execute:
(replace
nmake /f Makefile.vc VC=15 MACHINE=x64 ENABLE_WINSSL=yes MODE=dll
VC
andMACHINE
with your actual version / platform) - If you get the error
U1073
orU1077
- executecurl_directory\buildconf.bat
first and repeat thenmake
command - Your
curl
build 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-cpp
directory createbuild\
subdirectory - Specify curl location using
CMAKE_PREFIX_PATH=your_curl_build_directory
. curl build directory must containbin
,include
, andlib
subdirs. - In VC command prompt execute:
(replace
cd NetLicensingClient-cpp\build cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_PREFIX_PATH=your_curl_build_directory
-G
argument with your actual version / platform, seecmake
documentation) - Open solution created in
NetLicensingClient-cpp\build
directory 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-cpp
directory 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-cpp
or clone it inside the container -
Build as described in Linux Build
TODO: full description
-
Prepare environment:
- Install XCode 10.1+
- Install
homebrew
libcurl
is 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)