Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 包.:C不使用cgo或SWIG时不允许源文件:main.C_Linux_Go - Fatal编程技术网

Linux 包.:C不使用cgo或SWIG时不允许源文件:main.C

Linux 包.:C不使用cgo或SWIG时不允许源文件:main.C,linux,go,Linux,Go,为了简单起见,我在同一个目录中创建了两个“Hello World”程序,分别名为main.go和main.c 戈兰: package main import "fmt" func main() { fmt.Println("Hello World!") } C: 然后我删除了那个目录: $ sudo rm -rf /usr/local/go 现在该命令不再有效: $ go version zsh: command not found: go

为了简单起见,我在同一个目录中创建了两个“Hello World”程序,分别名为
main.go
main.c

戈兰:

package main

import "fmt"

func main() {
    fmt.Println("Hello World!")
}
C:

然后我删除了那个目录:

$ sudo rm -rf /usr/local/go
现在该命令不再有效:

$ go version
zsh: command not found: go
$ which go
go not found
为了确保这一点,我还删除了
$HOME
中的
go
目录:

$ sudo rm -rf $HOME/go
我还检查了是否通过
pacman
安装了它,但输出中没有
go
包:

$ pacman -Q | grep go
argon2 20190702-3
go-tools 2:1.14+3923+c00d67ef2-1
haskell-vector-algorithms 0.8.0.3-21
pango 1:1.44.7+11+g73b46b04-1
pangomm 2.42.1-2
然后我下载并解压缩到
/usr/local/

$ sudo tar -C /usr/local -xzf go1.15.3.linux-amd64.tar.gz
现在我可以看到它已安装:

$ which go
/usr/local/go/bin/go
$ go version
go version go1.15.3 linux/amd64
$ which go
/usr/local/go/bin/go
当我在我的
~/.zshrc
文件中添加此
导出
命令时,
$PATH
中也有此目录:

export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
现在我关闭VSCode并重新打开它,但同样的错误仍然存在

必须将
$GOROOT
变量设置到正确的目录,当前我的这个变量为空。因此,我在我的
~/.zshrc
文件中添加了这个
导出

export PATH=$PATH:/usr/local/go/bin
export GOROOT=/usr/local/go
但错误仍然存在。我如何修复此问题?

您需要

package main
import(
    "fmt
)
import "C"
func main() {
...
}
您需要将c函数名从
main()
更改为
c
文件中的其他名称,以避免编译时对其进行多次定义