SWIG + Go:不使用cgo时不允许使用C源文件

时间:2015-05-14 22:06:02

标签: go build swig

我正在尝试使用SWIG将此库(https://github.com/lemire/EWAHBoolArray)包装在Go中,但自从我升级到1.4后,我遇到了很多问题

我使用Go 1.3.3并按照SWIG网站上SWIG + Go的说明成功完成了所有工作。我不得不手动编译和安装软件包,而不是使用go build,但一切都运行良好。

现在,当我尝试使用Go 1.4.2运行相同的程序时,我收到此错误:

ewah_usage.go:5:2: C source files not allowed when not using cgo: goewah_gc.c

我使用最新的SWIG和最新的Go重建了包,它似乎已正确安装。但每当我使用该库运行程序时,我都会收到上述错误。

我的测试程序(goewah是我用SWIG构建的库)

package main

import (
    "fmt"
    "bitbucket.org/evanh/goewah"
)

func main() {
    x := goewah.NewEWAHBoolArray()
    x.Set(1)
    x.Set(2)
    fmt.Println(x.Get(1))
}

1 个答案:

答案 0 :(得分:8)

这是一个错误。抱歉。添加一个只是说

的文件
package p
import "C"

你应该绕过它。