解决win下使用gojieba编译时的gcc报错

最近正在做的一个项目要在Linux环境下迁移到Windows下进行继续的开发, 结果在Windows下尝试对项目进行编译时出了问题。

问题描述

由于项目中有使用到jieba库的Golang版本,而这个版本的构建中有使用到C++。因此在编译过程中有对gcc的依赖。然而,在编译的过程中,报出来这样的错误:

解决思路

在查询这些报错时(英语不好很多没看懂),一条回答的意思大概是GCC8这个版本后,对一些什么东西加强了检查。换句话说就是更严格了,这就导致有些代码用旧版本GCC编译后不会产生错误,而使用新的版本就有可能会出现错误。

所以我看了本机的GCC环境:

怪不得,version 8.1.0;接着我又去看了原来的开发环境Ubuntu的GCC版本:

version 7.4.0,看来应该就是这里出现了问题。

之后,我重新找了老版本的MinGW重新下了个GCC,捯饬半天,终于可以了:

ps:图床突然挂了我贴那个编译成功的代码吧…

把GCC降到version 4.8.2(其实是我随便找的版本,版本在8之前的应该都OK)后,再次编译:

D:\Goland\Gowork\BlockChain\bitcoin_part6\src\coin>go build main.go

D:\Goland\Gowork\BlockChain\bitcoin_part6\src\coin>

就不会有错误啦!

References

MinGW旧版本下载:

[https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/4.8.2/threads-posix/seh/x86_64-4.8.2-release-posix-seh-rt_v3-rev2.7z/download](https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win64/Personal Builds/mingw-builds/4.8.2/threads-posix/seh/x86_64-4.8.2-release-posix-seh-rt_v3-rev2.7z/download)

问题:

https://github.com/ziglang/zig/issues/1357

https://github.com/fantasticfears/cppjieba_rb/issues/2

Licensed under CC BY-NC-SA 4.0
自认为是幻象波普星的来客
Built with Hugo
主题 StackJimmy 设计