I'm trying to update an application to be built with C++20. The application compiles fine with "-std=c++20" but if I change it to "-std=gnu++20" then I'm getting linker errors. The linker errors are a few missing symbols in my application provided by static libraries.
I work on a large application and the missing symbols are in parts of the application that I don't know at all. I can find where the source files exist but not the path from source file to the executable. I venture there's at least two static libraries involved (file.cc is in file.a which is in file.b ...). I tried using "nm -a" to determine which library the symbol is coming from so I can compare to the c++20 build but haven't found the right options yet. We're using boost::build and I tried running with "-d2" as well but it's not been of much help.
How can I debug the problem?