在Centos7 的环境中.
最近在 GoLand
使用 go
调用 v8
, 总是出现 unrecognized command line option ‘-std=c++14’
这个错误.
各种google查询, 问题都指向了 升级 GCC
但是呢,我不想通过直接编译源码形式改变系统的GCC,以免给系统造成不稳定,
于是安装了devtoolset-7-gcc-c++
在goLand中启动 , terminal中显示 GCC的版本已经是
gcc -v
gcc version 7.3.1 20180303 (Red Hat 7.3.1-5) (GCC)
在编译go 的时候,依然有这个错误:
unrecognized command line option ‘-std=c++14’
感觉到事件的神奇,必须要研究一下,搞不明白只能放弃这个工具了.
经过一系列不知道为什么的折腾. 终于找到个解决方法
打开GoLand
的安装目录找到 bin/ goland.sh
编辑 这个文件, 第一行输入下面的命令
source /opt/rh/devtoolset-7/enable
保存以后重新启动, 再次执行代码时候,恢复正常
不知道这个是不是GoLand
的bug, 不能识别系统配置的GCC.
因为安装完成devtoolset
,我已经通过软链方式替换了原有的GCC文件.
在任何地方调用GCC都显示的是新版本. 但是 GOLand
编译的时候使用的是旧GCC.
需要在GoLand
启动的上下文中,强制刷新一下环境变量才能生效.
没准是我对GCC的配置理解不够深入, 有更好解决方案的小伙伴欢迎分享给我哦~