使用 G++ 创建 C++ 项目时出现的问题

使用 G++ 创建 C++ 项目时出现的问题

我正在尝试建立级联使用 G++ 8.3.0 的库。在文档中,他们提到它是在 G++ 4.7.2 上测试的。我的问题是,是否有必要降级到 4.7.2?如果是,您能告诉我怎么做吗?因为我尝试使用 4.8(根据 $which gcc 命令可用的最旧版本)和 8.3.0 来构建级联,并收到以下错误:

In file included from ../../include/descore/descore.hpp:104,
                 from ../../include/descore/stdafx.h:38,
                 from Wildcard.cpp:44:
../../include/descore/stltree.hpp:74:34: error: redefinition of ‘struct std::less<_Tp*>’
     template <typename T> struct less <T *>
                                  ^~~~~~~~~~
In file included from /usr/include/c++/8/bits/stl_tree.h:65,
                 from /usr/include/c++/8/set:60,
                 from ../../include/descore/descore.hpp:88,
                 from ../../include/descore/stdafx.h:38,
                 from Wildcard.cpp:44:
/usr/include/c++/8/bits/stl_function.h:424:12: note: previous definition of ‘struct std::less<_Tp*>’
     struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
            ^~~~~~~~~~
make: *** [Makefile:17: ../../objs/descore/Wildcard.o] Error 1

或者我应该更改 .hpp 文件?(我的最终目标是在 ubuntu 19.10 上使用 G++-11 级联)

提前致谢。

相关内容