如题,用mingw编译报错呢。有没有成功编译的方案,感谢感谢。
我又试了下,用`go1.17.13`,最后一个非泛型版本编译后可以成功分析了。用`go1.18`和之后的泛型版本编译出来的可执行程序window和linux都有问题。window下编译感觉是环境问题。你看看我这个项目 https://github.com/jan-bar/xgo/tree/master/docker ,用docker在linux下编译window的程序,然后复制到window,我这边运行没问题了。
用我以前做的镜像`docker pull janboy/cgolang-g`,当时安装的是`go1.17.3`,你也可以执行`g install 1.17.13`安装最后一个非泛型版本。
`CC=x86_64-w64-mingw32-gcc-posix CXX=x86_64-w64-mingw32-g++-posix GOOS=windows GOARCH=amd64 CGO_ENABLED=1 go build `
![image.png](https://static.golangjob.cn/220926/8837d057f6eb7a1be610e6cff1fa9525.png)
还有个遗憾的问题,就是被分析的项目不能包含泛型代码,会报错 :sweat_smile:
而且项目用了新版本提供的标准库,也会报错。所以这个工具只能用`go1.18`之前的go编译,被分析的项目也要是`go1.18`之前的代码。
#7
更多评论
我用下面的方法编译过了,但是按照GitHub搞那三个仓库的例子,运行时全都报错。试了最简单的项目也报错。
```sh
git clone --depth=1 -b v0.6.1 git@github.com:ofabry/go-callvis.git
set CGO_ENABLED=1
go install -ldflags "-X main.commit=v0.6.1 -extldflags \"-Wl,--allow-multiple-definition\""
```
#1