使用 devtoolset 切换 gcc 导致编译问题

2023-09-07 17:36:14 +08:00
 kkkbbb
因为有个项目需要 c++20 ,需要高版本的 gcc 才能进行编译,手动升级 gcc 有点麻烦,想着通过 devtoolset 工具切换 gcc ,但是编译代码遇到如下错误,不知道有没有遇到类型情况的 v 友,看样子应该是引用的 basic_string.h 还是默认用的系统路径下的老头文件,没有使用 gcc11 下的头文件路径导致的,我在编译的时候也尝试设置 CPLUS_INCLUDE_PATH ,想让编译器优先去 gcc11 的目录下搜索头文件,但是没有生效;编译选项-isystem 也试过了,还是有问题。。。
667 次点击
所在节点    程序员
4 条回复
kkkbbb
2023-09-07 17:37:45 +08:00
感觉使用 devtoolset 还是有点鸡肋,还是不如直接安装 gcc 靠谱
kkkbbb
2023-09-07 17:49:10 +08:00

gcc debug 看搜索的路径总是先搜索的 cmake 中 include_direction 的项目路径
ysc3839
2023-09-07 20:21:31 +08:00
这个 string_resize.hpp 是你自己的代码?自己的代码怎么去访问 std::string 的内部函数?
kkkbbb
2023-09-08 13:50:41 +08:00
@ysc3839 这个是一个三方库的代码,c++标准规定,类模板显式实例化声明可以忽略类成员的访问控制

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/971810

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX