我试图在我的 go 程序中包含一个存在于 /usr/local/WordNet-3.0/include/ 中的头文件使用这些标志// #cgo CFLAGS: -I/usr/local/WordNet-3.0/include// #cgo LDFLAGS: /usr/local/WordNet-3.0/lib/libWN.3.dylib/* #include <stdio.h> #include <stdlib.h> #include <string.h> #include "wn.h"static void printlicense() { printf("WordNet License %s\n\n%s", dblicense, license);}*/import "C"import "unsafe"import ( "os")但是当我使用 go run 运行我的程序时,它给了我以下错误:“致命错误:未找到‘wn.h’文件。” 我在路上 1.5.1。对我做错了什么的任何帮助将不胜感激。编辑:我通过将文件复制到我的工作目录中来使其工作,但我仍然想知道,我做错了什么。
1 回答
人到中年有点甜
TA贡献1895条经验 获得超7个赞
在我的本地做了一个快速测试:你需要删除你的 cgo 标志和你的 C 代码之间的空行。
尝试这个 :
// #cgo CFLAGS: -I/usr/local/WordNet-3.0/include
// #cgo LDFLAGS: /usr/local/WordNet-3.0/lib/libWN.3.dylib
/*
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "wn.h"
static void printlicense() {
printf("WordNet License %s\n\n%s", dblicense, license);
}
*/
import "C"
import "unsafe"
import (
"os"
)
- 1 回答
- 0 关注
- 216 浏览
添加回答
举报
0/150
提交
取消