0

我在Windows下成功编译了用C写的libnfc。编译后我得到 3 个文件:libnfc.dll、libnfc.dll.a、libnfc.lib。我想在我的 Go 应用程序中调用这个库的函数。我的测试程序

package main
/*
#cgo CFLAGS: -I .
#cgo LDFLAGS: -L . -lnfc
#include <nfc/nfc.h>
*/
import "C"
import "fmt"

func main() {
  res:= C.nfc_version() 
  fmt.Printf(C.GoString(res))
}

nfc_version - 库中可用的函数名称。我将 libnfc.lib 文件放在带有 go source 的目录中,并使用头文件复制文件夹 nfc。(如果我放 libnfc.dll 或 libnfc.dll.a 而不是 libnfc.lib - 我得到错误消息 library not found。)然后我运行

go build

Go 成功编译程序,但是当我尝试启动它时出现错误:“此应用程序无法启动,因为 (null).DLL 未找到。” 如何在 golang 应用程序中正确使用库?

4

0 回答 0