为了账号安全,请及时绑定邮箱和手机立即绑定

Golang:调用 Windows DLL 函数

Golang:调用 Windows DLL 函数

Go
慕田峪7331174 2021-09-10 17:42:06
我正在编写一个调用 Windows DLL 的 Go 应用程序。该 DLL 是用 MSVC 编写的,并且具有使用 __declspec(dllexport) 的 extern "C" 导出。我的 Go 应用程序的顶部如下://#cgo CFLAGS: -IC:/Repos/Module/include//#cgo LDFLAGS: -L. C:/Repos/Module/go/bin/MyModule.dll//#include <MyModule.h>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 中定义的符号。关于如何让符号链接而不必走系统调用路线的任何建议?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 230 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信