为所有Linux发行版编译C++

Dan*_*iel 9 c++ linux

如何编译我的C++文件以适用于所有Linux发行版.我将编译它们的机器是Ubuntu 10.10

如果我在Ubuntu 10.10上编译它们,它们是否可以在其他发行版上工作,如ubuntu,fedora,debian,非debian发行版......等等?

aki*_*ira 7

% gcc -o foo foo.c -static
Run Code Online (Sandbox Code Playgroud)

由于它在同一架构(64位,32位,arm,mips等)上运行,因此生成的二进制文件应该适用于大多数发行版.

重点是:由于您不知道可以提前在目标系统上找到什么,因此您必须将所有内容捆绑到您正在发送的二进制文件中,或者在某种"chrooted"环境中将外部库部署为以及(无法静态链接的东西)然后使用某种包装器来使用已部署的库而不是系统库.

  • 这适用于C,但不适用于C++.见http://www.trilithium.com/johan/2005/06/static-libstdc/ (2认同)