无法包含 go 程序所需的 C 头文件
Unable to include required C header files for go program
我正在尝试在我的 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 运行 时,它给了我以下错误:
"fatal error: 'wn.h' file not found." 我在进行 1.5.1.
任何关于我做错的帮助将不胜感激。
编辑:我已经通过将文件复制到我的工作目录中来使其工作,但我仍然想知道我做错了什么。
在本地进行了快速测试:您需要删除 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"
)
我正在尝试在我的 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 运行 时,它给了我以下错误:
"fatal error: 'wn.h' file not found." 我在进行 1.5.1.
任何关于我做错的帮助将不胜感激。
编辑:我已经通过将文件复制到我的工作目录中来使其工作,但我仍然想知道我做错了什么。
在本地进行了快速测试:您需要删除 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"
)