【发布时间】:2015-12-03 07:16:42
【问题描述】:
clang++ 和 g++ 不兼容 ABI,即使对于像标准容器这样的核心,根据例如 clang++ 网站。
Debian 附带 C++ 共享库,即 libboost 等...,它们是用 ~something 编译的,并且使用这两种编译器的用户程序通常都可以工作,并且库名称不会与用于它们的编译器混淆。当您安装 clang 时,debian 不会去拉入您系统上安装的每个 C++ 库的重复版本。
有什么关系? clang 链接到发行版提供的 C++ 库的能力是否比编译器开发人员描述的(谢天谢地谨慎)强得多?
【问题讨论】:
-
我认为实际上,clang 应该是与 gcc 兼容的 ABI,否则你是对的,这将是一场巨大的噩梦。不过我不确定。我认为 clang 基本上需要采用这个策略才能起步。
-
我不想说它们是重复的,确切地说。这个问题指的是非常具体的版本。
-
libc++ 与 libstdc++ 不兼容,但与 libstdc++ 的 clang 应该与带有 libstdc++ 的 g++ 兼容。
标签: c++ shared-libraries abi