https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97729
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- It could be a difference in the linker. I'm using the mingw cross-binutils that comes with Fedora: $ /usr/bin/x86_64-w64-mingw32-ld --version GNU ld version 2.32-%{release} Copyright (C) 2019 Free Software Foundation, Inc. This program is free software; you may redistribute it under the terms of the GNU General Public License version 3 or (at your option) a later version. This program has absolutely no warranty. The exception_ptr symbols should get suppressed with: --- a/libstdc++-v3/src/c++11/future.cc +++ b/libstdc++-v3/src/c++11/future.cc @@ -22,6 +22,9 @@ // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see // <http://www.gnu.org/licenses/>. +// Prevent multiple definitions of exception_ptr inline members (PR 97729) +#define _GLIBCXX_EH_PTR_COMPAT + #include <future> #include <bits/functexcept.h>