При попытке использовать си библиотеку в golang получаю ошибку
/snap/go/10390/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: /tmp/go-link-3586512975/000001.o: в функции
«_cgo_b7334996796a_Cfunc_Register_Card»:
/tmp/go-build/cgo-gcc-prolog:55: неопределённая ссылка на «Register_Card»
collect2: error: ld returned 1 exit status
Вот пример кода на go:
package main
//#cgo CFLAGS: -Wall -O2 -m64 -I/usr/local/adlink/pcis-dask/include64
//#include "dask.h"
import "C"
import (
"fmt"
)
func main() {
var card C.I16 = 1
var cardNumber C.U16 = 0
card = C.Register_Card(C.PCI_7432, cardNumber)
fmt.Printf("open device file successfully!! %v \n", card)
}
Компилирую go build main.go
PS код на си с той же библиотекой и теми же параметрами запускается, всё ок.
Информации в сети по конкретно этой библиотеке нет, это софт для довольно редкой промышленной платки. И опыта работы с CGO тоже мало, поэтому прошу помощи сообщества