没那么复杂,只是os从乌班图18升到22了,想直接上c++20,顺便兼容一下老的
【 在 milksea 的大作中提到: 】
: 生成兼容的二进制,问题主要在API版本依赖和ABI,而不是编译器或所用语言版本。对运行环境那边考虑的是cpu体系结构,操作系统,ABI,库版本这些。你把这个事情考虑成交叉编译会清楚一些。
: 静态链接libgcc和libstdc++可以解决一部分问题,前者主要是gcc版本的差异,后者主要是c++标准库的差异。你依然可能遇到glibc的版本依赖问题(这和c++以及gcc版本都无关),第三方c++库的依赖问题,甚至系统内核版本问题。
: 省事的办法,比如docker,把整个依赖环境都带上;或者想办法全静态编译。
--
FROM 111.183.22.*