将libnfc与golang一起使用

时间:2016-05-22 16:42:10

标签: c dll go cgo lib-nfc

我在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文件放在带有源文件的目录中,并将文件夹nfc与头文件一起复制。 (如果我把libnfc.dll或libnfc.dll.a而不是libnfc.lib - 我找不到错误消息库。) 然后我跑

go build

成功编译程序,但是当我尝试启动它时,我收到错误:&#34;此应用程序无法启动,因为找不到(null).DLL。&#34; 如何正确使用golang应用程序库?

0 个答案:

没有答案