首页 > 解决方案 > 从 github 导入使用本机 C 代码的 go 包

问题描述

我正在编写一些需要从另一个 GitHub 存储库访问 Cobra CLI 对象的代码:

package main

import (
    "github.com/spf13/cobra/doc"
    "github.com/sylabs/singularity/cmd/singularity/cli"
    "log"
)

func main() {
    err := doc.GenReSTTree(cli.SingularityCmd, "./")
    if err != nil {
        log.Fatal(err)
    }
}

我也有以下版本约束:

[[constraint]]
  name = "github.com/sylabs/singularity"
  version = "3.0.3"

现在,当我go install出现错误时:

# github.com/TMiguelT/singularity-userdocs/vendor/github.com/sylabs/singularity/internal/pkg/runtime/engines/config/starter
vendor/github.com/sylabs/singularity/internal/pkg/runtime/engines/config/starter/starter.go:10:10: fatal error: starter.h: No such file or directory
 #include "starter.h"
          ^~~~~~~~~~~
compilation terminated.

因此,当我尝试构建代码时,它会尝试编译奇异模块并失败,因为它找不到一些 C 代码。此头文件位于我正在导入的存储库中:https ://github.com/sylabs/singularity/blob/v3.0.3/cmd/starter/c/starter.h

我怎样才能go install意识到这一点,以确保我的项目能够编译?

标签: go

解决方案


推荐阅读