Need to run ldconf so that the shared libraries are found when running cpp executable (your xlnt program)
3.7 KiB
Getting xlnt
Binaries
Homebrew
Arch
vcpkg
Compiling from Source - Ubuntu 16.04 LTS (Xenial Xerus)
Please run the following commands and read the comments as you go. You will notice that we update and upgrade quite frequently, this is to ensure that all dependancies are met at all times
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install cmake
sudo apt-get install zlibc
sudo apt-get install zlib1g
sudo apt-get install zlib1g-dev
sudo apt-get install libssl-dev
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt-get upgrade
sudo apt-get install gcc-6 g++-6
sudo apt update
sudo apt-get upgrade
The following steps will set up some environment variables for this session
export CC=/usr/bin/gcc-6
export CXX=/usr/bin/g++-6
The following steps will install the appropriate crypto libraries for c++ Download the zip file from https://github.com/weidai11/cryptopp/archive/master.zip
cd ~
unzip Downloads/cryptopp-master.zip
cd cryptopp-master
make -j 2
sudo make install
The following steps will install the latest compiler from source Download gcc 6.3.0 from https://gcc.gnu.org/mirrors.html I used the Japanese mirror as this is the closest location to me http://ftp.tsukuba.wide.ad.jp/software/gcc/releases/gcc-6.3.0/gcc-6.3.0.tar.gz
cd ~
tar -zxvf Downloads/gcc-6.3.0.tar.gz
cd gcc-6.3.0
./contrib/download_prerequisites
mkdir build
cd build
../configure --disable-multilib --enable-languages=c,c++
make -j 2
sudo make install
If the above make command fails please use "make clean pristine" and then remove and remake the build directory. This will clean up and prepare the environment for another attempt. A common reason for failure on virtual machines is lack of RAM (if you don't have enough RAM you may get an error like this "recipe for target 's-attrtab' failed"). Otherwise, if all goes well in about 30 to 60 minutes the compiler will be ready and we will move on to the next steps.
The following step will install the docbook2x library
sudo apt-get install docbook2x
The following steps will install the libexpat library Download the zip file from the following repository https://github.com/libexpat/libexpat
cd ~
unzip Downloads/libexpat-master.zip
cd libexpat-master/expat
cmake .
make -j 2
sudo make install
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
sudo ldconfig
xlnt will now be ready to use on your Ubuntu instance.
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" ..