goland,cgo加载32位DLL遇到的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了goland,cgo加载32位DLL遇到的问题相关的知识,希望对你有一定的参考价值。
参考技术A 第一次开发Go程序,使用Goland过程中遇到的一些问题,开发的Go后台需要使用到Windows的一个32位DLL动态库,此为原由,整个过程如下。在按照上述方式配置好环境,并尝试使用CGO加载DLL时,执行GOLAND的DEBUG提示如下。
经过搜索猜测,是目标机器架构选择错误导致的。
但是在环境配置中,已经正确的选择了Arch为386,尝试使用liteIDE或者直接使用命令行编译,都能够正常编译。唯独使用GoLand不行。
看现象应该是设置没有生效,最后尝试在Run/Debug Configurations再次设置Go env解决此问题。步骤如下:
再次点击debug,发现debug失败,提示如下内容。
这是因为,goland在debug时使用的是dlv插件,该插件还不支持32位程序的调试,直接执行run就可以了。
在使用命令行编译go程序时,可以使用go env命令查看当前编译环境设置。
假如需要修改 GOARCH为386,继续输入命令行 set GOARCH=386 即可,如果重新打开cmd终端,则需要重新设置。所以如果使用命令行编译,可以写一个bat文件,每次都自动先把环境设置好。
以上是关于goland,cgo加载32位DLL遇到的问题的主要内容,如果未能解决你的问题,请参考以下文章