微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么有些 LLVM 标准库头文件包含其他头文件,而 GCC 没有

如何解决为什么有些 LLVM 标准库头文件包含其他头文件,而 GCC 没有

在跨 GCC 和 Clang 编译项目时,我注意到 fabs 之类的函数在 GCC 上导致编译问题,因为我自己从未包含 <cmath>。我在 Clang 上开发,所以我从来没有注意到这一点,因为我使用的是 llvm <cstdlib>文件 includes <cmath> itself,似乎没有对它做任何事情,而 GCC 版本没有。

有什么原因吗?除了尝试之外,我还能做些什么来确保我的代码可以跨多个标准库进行编译?

解决方法

对于您使用的每个函数,请查阅 C++ 参考以找出您应该包含的头文件。

The reference for fabs 表示您必须包含 <cmath>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。