为了账号安全,请及时绑定邮箱和手机立即绑定

无法为 go 程序包含所需的 C 头文件

无法为 go 程序包含所需的 C 头文件

Go
汪汪一只猫 2021-11-08 19:35:45
我试图在我的 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"

)


查看完整回答
反对 回复 2021-11-08
  • 1 回答
  • 0 关注
  • 216 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信