编译gcc7.5.0和gcc9.4.0都碰上了这个问题:
/home/nari/桌面/gcc-9.4.0/build/x86_64-pc-linux-gnu/libstdc++-v3/src/c++98/../../../../../libstdc++-v3/src/c++98/mt_allocator.cc:64: undefined reference to `__dso_handle'
/usr/bin/ld: ../src/c++98/.libs/libc++98convenience.a(mt_allocator.o): relocation R_X86_64_PC32 against undefined hidden symbol `__dso_handle' can not be used when making a shared object
在编译报错的cc或者cpp文件头部新增了extern "C"{ void * __dso_handle = 0 ;}后解决。
extern "C"{ void * __dso_handle = 0 ;}