首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编译go中多个文件的项目

编译go中多个文件的项目
EN

Stack Overflow用户
提问于 2013-10-17 20:55:08
回答 2查看 772关注 0票数 2

我使用gccgo编译我的项目。这是我的目录布局。我读过这个Q/A线程如何在戈朗使用自定义软件包?

所以就跟着这个

代码语言:javascript
运行
复制
src/  
 +-fibo/  
 |   +-fibo.go  
 +main.go  

下面是代码清单

main.go

代码语言:javascript
运行
复制
package main

import (
    "os"
    "fmt"
    "strconv"
    "src/fibo"
)

func main(){

    if len(os.Args) < 2 {
        fmt.Printf("ur input sucks\n")
    }
    num,_ := strconv.Atoi(os.Args[1])
    fibo.Fibo(num)
}

fibo/fibo.go

代码语言:javascript
运行
复制
package fibo

import  "fmt" 

func Fibo(num int) {

    var a,b int
    for i :=0; i< num; i++ {
        a, b = b, a+b
        fmt.Print(a, " ")
    }
    fmt.Print("\n")
}

但当我试图编译时,我遵循了通常的gcc程序。分别编译文件并将它们链接到最终的可执行文件。我知道这个错误

代码语言:javascript
运行
复制
.../go-lang-expts/src $ gccgo -c -ofibo/fibo.o fibo/fibo.go 
.../go-lang-expts/src $ gccgo -c -omain.o main.go 

   main.go:7:10: error: import file ‘src/fibo’ not found 
   main.go:18:2: error: reference to undefined name ‘fibo’

.../go-lang-expts/src $ 

我被困在这里了。我尝试了不同的目录结构组合。没人帮上忙。我遗漏了什么?我是否应该设置任何环境变量,即使是这样??

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-19 12:35:31

看起来您可能没有设置环境变量

来自如何编写Go代码

GOPATH环境变量指定工作区的位置。在开发Go代码时,它可能是您需要设置的唯一环境变量。

的当前目录结构

代码语言:javascript
运行
复制
src/  
 +-fibo/  
 |   +-fibo.go  
 +main.go

如果您的src目录位于GOPATH下,那么您应该能够执行以下操作:

代码语言:javascript
运行
复制
import "fibo"

main.go中。

也请参阅来自"GOPATH环境变量“命令文档

票数 3
EN

Stack Overflow用户

发布于 2017-06-27 17:04:57

这组命令对我有效。

代码语言:javascript
运行
复制
.../go-lang-expts/src $ gccgo -c -fgo-pkgpath=fibo -ofibo/fibo.o fibo/fibo.go

这将命名包fibo,因此您必须在main.go中导入它。

代码语言:javascript
运行
复制
import "fibo"

现在您可以通过告诉fibo.o库在哪里来编译main.go了。

代码语言:javascript
运行
复制
.../go-lang-expts/src $ gccgo -c main.go -Ifibo

然后,您需要链接这两个文件来创建一个可执行的main。

代码语言:javascript
运行
复制
.../go-lang-expts/src $ gccgo -o main main.o fibo/fibo.o
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19437086

复制
相关文章

相似问题

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