Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

  • GCC C++ ABI is forward compatible from with version 3.4. 

  • GCC 5.1 introduced Dual ABI to support C++11 requirements for std::string and std::list (macro _GLIBCXX_USE_CXX11_ABI specifies which one to use). 

  • Since GCC 5.1 C++11 ABI   is compatible with GCC 5.x and above where C++ standard is 2011 and newer.

  • GCC 6.1 has full support for the C++14 standard, which was published in 2014This mode is the default in GCC 6.1 and above; it can be explicitly selected with the -std=c++14.

The previous naming schema was ambiguous because GCC 5 and later can be used to build binaries with C++98 ABI.
Since the release of 2.26.0 FIX Antenna binaries have following naming convention for Linux:

BinaryOld binary naming conventionC++ ABITarget OSTarget Compiler
libV12_rh7.so

libV12-centos-7.5.1804-gcc48-MD-x64.so

libV12-centos-7.5.1804-gcc49-MD-x64.so

C++ 98RHEL7/CentOS7
  1. GCC 4.8 - 4.9
  2. GCC 5.2 and higher with -D_GLIBCXX_USE_CXX11_ABI=0, any C++ standard supported by the compiler can be used (C++ 98, 11, 14, 17).

Note: GCC should be installed from RHEL/CentOS repository or developer toolset. Do not use GCC from dev toolset with new ABI, i.e. with parameter -D_GLIBCXX_USE_CXX11_ABI=1. This compiler build uses C++98 ABI.

libV12_rh7_cxx11.solibV12-centos-7.5.1804-gcc52-MD-x64.soC++ 11RHEL7/CentOS7

GCC 5.2 and higher with -D_GLIBCXX_USE_CXX11_ABI=1 (the default), any C++ standard supported by the compiler can be used (C++ 98, 11, 14, 17).

Note: GCC 5.2 and higher should be built and installed from sources because GCC from devtoolset uses only C++98 ABI.

Use LD version 2.27 and higher with C++11 ABI to avoid linking problems.

libV12_ubuntu1604_cxx11.solibV12-ubuntu-16.04.5-lts-gcc61-MD-x64.soC++ 11Ubuntu 16.04

GCC 5.2 and higher with -D_GLIBCXX_USE_CXX11_ABI=1 (the default), any C++ standard supported by the compiler can be used (C++ 98, 11, 14, 17).

Note: GCC 5.2 and higher should be installed from the Ubuntu repository.

Use LD version 2.27 and higher with C++11 ABI to avoid linking problems.

...

Code Block
titleRun linker for release mode
g++ -L../../../lib release_obj/FIXApp.o release_obj/Listener.o release_obj/SessionConnector.o \
 	-o Listener \
	-lrt -lV12

How to build project with FIX Antenna using the Make utility

First, create a Makefile with the following content:

...