为什么一些 LLVM 标准库头文件包含其他头文件而 GCC 不
Why do some LLVM standard library headers include other headers but GCC does not
在跨 GCC 和 Clang 编译项目时,我注意到像 fabs
这样的函数在 GCC 上引起了编译问题,因为我自己从未包含 <cmath>
。我在 Clang 上开发,所以我从来没有注意到这一点,因为我使用的是 llvm <cstdlib>
头文件 includes <cmath>
itself,似乎没有对它做任何事情,而 GCC 版本没有。
这有什么原因吗?除了尝试之外,我还能做些什么来确保我的代码能够跨多个标准库编译?
对于您使用的每个函数,请查阅 C++ 参考以找出您应该包含的 header。
The reference for fabs
说你必须包括 <cmath>
.
在跨 GCC 和 Clang 编译项目时,我注意到像 fabs
这样的函数在 GCC 上引起了编译问题,因为我自己从未包含 <cmath>
。我在 Clang 上开发,所以我从来没有注意到这一点,因为我使用的是 llvm <cstdlib>
头文件 includes <cmath>
itself,似乎没有对它做任何事情,而 GCC 版本没有。
这有什么原因吗?除了尝试之外,我还能做些什么来确保我的代码能够跨多个标准库编译?
对于您使用的每个函数,请查阅 C++ 参考以找出您应该包含的 header。
The reference for fabs
说你必须包括 <cmath>
.