我在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应用程序库?