首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用gccgo导入非标准库包

如何使用gccgo导入非标准库包
EN

Stack Overflow用户
提问于 2012-11-22 08:12:10
回答 1查看 3.8K关注 0票数 4

首先,所有这些代码都可以使用go工具成功构建(例如,go build,go安装)。

比如说,我得到了一个a.go,它试图从github导入一个非标准库pkg:

代码语言:javascript
复制
package a

import (
    "fmt"
    "github.com/usr/pkg"
)

func init() {
    fmt.Println("Import pkg", pkg.somevar)
}

当我尝试用gccgo编译它时:

代码语言:javascript
复制
$ gccgo -c a.go
a.go:5:20: error: import file ‘github.com/usr/pkg’ not found
...

然后我读了建立和使用gccgo,上面写着

当您使用gccgo导入包文件时,它将在以下文件中查找导入数据,并使用它找到的第一个文件。 FILE.gox FILE.o libFILE.so libFILE.a gccgo编译器将在当前目录中查找导入文件。

所以我把$GOPATH/pkg/github.com/usr/pkg.a放到当前目录中,并将其重命名为libpkg.a。

似乎又失败了:

代码语言:javascript
复制
$ gccgo -c a.go
a.go:9:4: error: libpkg.a: malformed archive header name at 8
a.go:9:4: error: libpkg.a exists but does not contain any Go export data

是的,我用的是gccgo 4.7.2

我没有和gcc一起工作的经验,所以我在这里寻求帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-24 19:33:09

最简单的方法是使用gc发行版中的go命令,然后运行go build -compiler gccgo .

复制pkg.a的想法不起作用,因为pkg.a不是用gccgo构建的。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13508332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档