Compiling xlnt 1.x.x from Source on Ubuntu 16.04 LTS (Xenial Xerus)
Time required: Approximately 5 minutes (depending on your internet speed)
sudo apt-get update sudo apt-get upgrade sudo apt-get install cmake sudo apt-get install zlibc
The following steps update the compiler and set the appropriate environment variables - see note  below for the reason why we need to update the standard available compiler
sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt-get upgrade sudo apt-get install gcc-6 g++-6 export CC=/usr/bin/gcc-6 export CXX=/usr/bin/g++-6
The following steps will intall xlnt Download the zip file from the xlnt repository https://github.com/tfussell/xlnt/archive/master.zip
cd ~ unzip Downloads/xlnt-master.zip cd xlnt-master cmake . make -j 2 sudo make install
The following step will map the shared library names to the location of the corresponding shared library files
xlnt will now be ready to use on your Ubuntu instance.
 Xlnt requires a minimum of gcc 6.2.0 The most recent gcc version available using the standard APT repositories is gcc 5.4.0 (obtained through build-essential 12.1ubuntu2). If these older versions of gcc are used an error "workbook.cpp error 1502:31 'extended_property' is not a class, namespace or enumeration" will occur during the xlnt make command.
Compiling from Source
Build configurations for Visual Studio, GNU Make, Ninja, and Xcode can be created using cmake v3.2+. A full list of cmake generators can be found here. A basic build would look like (starting in the root xlnt directory):
mkdir build cd build cmake .. make -j8
The resulting shared (e.g. libxlnt.dylib) library would be found in the build/lib directory. Other cmake configuration options for xlnt can be found using "cmake -LH". These options include building a static library instead of shared and whether to build sample executables or not. An example of building a static library with an Xcode project:
mkdir build cd build cmake -D STATIC=ON -G Xcode .. cmake --build . cd bin && ./xlnt.test
Note for Windows: cmake defaults to building a 32-bit library project. To build a 64-bit library, use the Win64 generator
cmake -G "Visual Studio 14 2015 Win64" ..