2

プロジェクトのコンパイルには gccgo を使用します。これが私のディレクトリレイアウトです。この Q/A スレッドを読みました golang でカスタムパッケージを使用するには?

だからこれに従った

src/  
 +-fibo/  
 |   +-fibo.go  
 +main.go  

ここにコードリストがあります

main.go

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

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 手順に従いました。ファイルを個別にコンパイルし、それらをリンクして最終的な実行可能ファイルにします。このエラーが発生します

.../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 $ 

私はここで立ち往生しています。ディレクトリ構造のさまざまな組み合わせを試しました。誰も助けませんでした。私は何が欠けていますか?この場合でも、設定する必要がある環境変数はありますか??

4

2 に答える 2