这些想法可能看起来很奇怪......
我通过创建目录并将必要的文件复制到bin,lib,usr等等,在我的Gnu / Linux系统上创建了其他环境。然后我做了' chroot'然后在里面做一些操作。
问题是环境中的所有文件都来自较旧的操作系统(2.4内核版本)。但编译器必须采用现代(支持现代语言标准)。
当我试图在环境中运行编译器时,它会出错:
g++: /lib/libc.so.6: version `GLIBC_2.11' not found (required by g++)
g++: /lib/libc.so.6: version `GLIBC_2.4' not found (required by g++)
然后我将实际的libc.so.6复制到/ home / mylibs(内部环境)。导出LD_LIBRARY_PATH:
bash-3.00# export LD_LIBRARY_PATH="/home/mylibs/"
但似乎没有任何改变。同样的错误仍然存在。
下一次尝试是构建静态链接的gcc编译器。不幸的是,出现了一些问题(Statically linked gcc)。
也许我从根本上说错了......但是,我是否有其他方法可以使用现代编译器构建链接到旧库的可执行文件?
P.S。我的操作系统是ArchLinux。 ' uname -r'显示' 4.8.12-3-ARCH'。 最古老的环境是由MCBC 3.0(俄语字母,不知道如何正确解密,可能是武装部队和移动系统)和2.4内核版本。