golang调用java函数_Golang:调用Windows DLL函数

我正在编写一个调用Windows DLL的Go应用程序 . DLL是用MSVC编写的,并使用__declspec(dllexport)进行外部“C”导出 .

我的Go应用程序的顶部如下:

//#cgo CFLAGS: -IC:/Repos/Module/include

//#cgo LDFLAGS: -L. C:/Repos/Module/go/bin/MyModule.dll

//#include

import "C"

我正在调用模块中的函数,如下所示:

nRet := C.moduleImpl_len()

问题是,当我尝试运行此应用程序时,我收到以下错误:

C:\Users\MINDO~1\AppData\Local\Temp\go-build836751819\mod\modimpl\_obj\modimpl.cgo2.o: In function `_cgo_e2aaf076ab69_Cfunc_moduleImpl_len':

C:/Repos/Module/go/src/mod/modimpl/modimpl.go:90: undefined reference to `moduleImpl_len'

我用DUMPBIN查看了DLL导出的符号,它显示了“moduleImpl_len”作为导出的符号 . 这也是MyModule.h中定义的符号 .

有关如何在不进入系统调用路由的情况下获取符号链接的任何建议?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值