我问这个问题的具体原因是,我试图创建一个C/C工具链,它可以构建C17代码,并生成可以在尽可能多的客户端系统上运行的二进制文件。我至少需要gcc 9来支持(稳定)C17。但这意味着客户机系统至少需要libstdc.so.6.0.26(GLIBCXX_3. 4. 26)。这也意味着我不能在不失去与多个客户机系统兼容性的情况下使用更新的编译器,因为libstdc++是耦合到gcc的。GNU libc没有耦合到gcc。我可以选择最新的编译器,仍然使用旧的glibc 2.28来构建C11代码。
mv1qrgav1#
为什么GNU libstdc++与gcc耦合,而GNU libc没有耦合?libstdc++也不是真正与GCC耦合的--你可以用libc++来构建C++代码。
libstdc++
libc++
C++
g++
1条答案
按热度按时间mv1qrgav1#
为什么GNU libstdc++与gcc耦合,而GNU libc没有耦合?
libstdc++
也不是真正与GCC耦合的--你可以用libc++
来构建C++
代码。g++
使用libstdc++
,因为它们都来自同一个项目,而GLIBC是一个单独的项目。