Using C ++ 14 on Linux and sending binaries intended for different Linux releases

I am developing a cross-platform server software using C ++ 14, and I want to be able to send it as binaries for different versions of Windows and Linux. For Windows, I created a binary with all the statically related dependencies. I was able to successfully install and run this binary on all versions of Windows Server.

How can I create a binary for Red Hat Enterprise Linux that can run on RHEL6.4 or later?

To get support for C ++ 14 on Linux, I think I need to use version 5 or later of GCC? No version of Red Hat Enterprise Linux comes with a version of GCC that supports C ++ 14? If I understand correctly, do I need to use Red Hat Developer Toolset 4.1.0 to get a GCC version that supports C ++ 14?

Red Hat Developer Toolset 4.1.0 seems to only support RHEL6.5 and later, but I can live with it. So, if I use Red Hat Developer Toolset 4.1.0 and compile my software on RHEL6.5, how do I link it?

When reading the Developer Toolset 4.1.0 documentation, there seems to be an ABI compatibility issue, and Red Hat recommends using -std = C ++ 98 to develop development software? Does this mean that I can not use C ++ 14 and create a binary file that can work on a different version of Linux, even in the same type of distribution?

Any help in clarifying this issue would be greatly appreciated.

+4
source share
1 answer

I can tell you what has been done for the product that I am helping to develop.

GCC binutils UNIX/linux, , . ++, (, boost ..). , libstd++ .

, C, linux, ++, .

.

"" (, , ) Linux-, , / , libc libpthread, Linux, libc.

+2

Source: https://habr.com/ru/post/1660580/


All Articles