goland unrecognized command line option ‘-std=c++14’

在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的配置理解不够深入, 有更好解决方案的小伙伴欢迎分享给我哦~

你可能感兴趣的:(goland unrecognized command line option ‘-std=c++14’)