当我使用-static-libstdc++
编译时,已编译的二进制文件使用UNIX - GNU
ABI,但是我需要使用UNIX - System V
ABI获得一个二进制文件。 (我需要与FreeBSD兼容)
我也尝试了Compile libstdc++ with hash style SYSV,但是没有帮助。
$ gcc-7.1 -v
Using built-in specs.
COLLECT_GCC=gcc-7.1
COLLECT_LTO_WRAPPER=/usr/local/gcc-7.1/libexec/gcc/x86_64-linux-gnu/7.1.0/lto-wrapper
Target: x86_64-linux-gnu
Configured with: ../gcc-7.1.0/configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=/usr/local/gcc-7.1 --enable-checking=release --enable-languages=c,c++,fortran --disable-multilib --program-suffix=-7.1 : (reconfigured) ../gcc-7.1.0/configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=/usr/local/gcc-7.1 --enable-checking=release --enable-languages=c,c++,fortran --program-suffix=-7.1 : (reconfigured) ../gcc-7.1.0/configure -v --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --prefix=/usr/local/gcc-7.1 --enable-checking=release --enable-languages=c,c++,fortran --program-suffix=-7.1 --disable-gnu-unique-object
Thread model: posix
gcc version 7.1.0 (GCC)
最佳答案
因此,当我完全重新编译gcc而不是重新配置时,该问题已解决。
关于c++ - libstdc++静态链接和System V ABI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45094888/