因为这个我正在拔头发.
我想要做的就是将.o(C对象文件)与Go包链接起来,以便Go包可以调用C函数.
似乎没有关于cgo的CGO_OFILES参数的任何文档,这似乎是我在多次上网搜索后所需要的.
我已经尝试将它放在Go文件的顶部:
/* #cgo CGO_OFILES: doc-capi-tesseract.o #include <stdlib.h> #include "doc-capi-tesseract.h" */ import "C"
但这给了我无效的错误#cgo动词:#cgo CGO_OFILES:doc-capi-tesseract.o.然后我读到某个地方可以使用makefile,所以我做了这个可能不正确的makefile:
include $(GOROOT)/src/Make.inc TARG=tesseract CGOFILES=tesseract.go CGO_OFILES=doc-capi-tesseract.o include $(GOROOT)/src/Make.pkg %.o: %.cpp $(HOST_CC) $(CGO_CFLAGS_$(GOARCH)) -g -O2 -fPIC -o $@ -c $^
但我不知道该如何处理该文件.如果我运行make或make myfile或者生成makefile,则没有任何反应.不知道如何使用它.