因为这个我正在拔头发.
我想要做的就是将.o(C对象文件)与Go包链接起来,以便Go包可以调用C函数.
似乎没有关于CGO_OFILEScgo参数的任何文档,这似乎是我经过多少互联网搜索后所需要的.
我已经尝试将它放在Go文件的顶部:
/*
#cgo CGO_OFILES: doc-capi-tesseract.o
#include <stdlib.h>
#include "doc-capi-tesseract.h"
*/
import "C"
但这给了我错误invalid #cgo verb: #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或go build makefile.不知道如何使用它.
有人可以向我解释如何将Go文件链接到C对象文件?
#2 的示例:
// #cgo CFLAGS: -Isrc/include  
// Where doc-capi-tesseract.h is!
// #cgo LDFLAGS: doc-capi-tesseract.a
// #include "doc-capi-tesseract.h"
import "C"
| 归档时间: | 
 | 
| 查看次数: | 1638 次 | 
| 最近记录: |