Skip to content

Fixes build error with gcc v15+#28

Open
rountree wants to merge 1 commit into
exafmm:masterfrom
rountree:fix/cstdint
Open

Fixes build error with gcc v15+#28
rountree wants to merge 1 commit into
exafmm:masterfrom
rountree:fix/cstdint

Conversation

@rountree

@rountree rountree commented Sep 3, 2025

Copy link
Copy Markdown

Fixes #27.

The header file needs to be added explicitly to exafmm_t.h to build under gcc 15.

Quoting from "Porting to GCC 15"
https://gcc.gnu.org/gcc-15/porting_to.html

Header dependency changes

Some C++ Standard Library headers have been changed to no longer include other headers that were being used internally by the library. As such, C++ programs that used standard library components without including the right headers will no longer compile.

In particular, the following headers are used less widely within libstdc++ and may need to be included explicitly when compiling with GCC 15:

<stdint.h> (for int8_t, int32_t etc.) and (for
std::int8_t, std::int32_t etc.)
(for std::endl, std::flush etc.)

The header file <cstdint> needs to be added explicitly
to exafmm_t.h to build under gcc 15.

Quoting from "Porting to GCC 15"
https://gcc.gnu.org/gcc-15/porting_to.html

Header dependency changes

Some C++ Standard Library headers have been changed to no
longer include other headers that were being used internally
by the library. As such, C++ programs that used standard
library components without including the right headers will
no longer compile.

In particular, the following headers are used less widely
within libstdc++ and may need to be included explicitly when
compiling with GCC 15:

<stdint.h> (for int8_t, int32_t etc.) and <cstdint> (for
  std::int8_t, std::int32_t etc.)
<ostream> (for std::endl, std::flush etc.)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Build failure with gcc 15+

2 participants