Linux 包.:C不使用cgo或SWIG时不允许源文件:main.C
为了简单起见,我在同一个目录中创建了两个“Hello World”程序,分别名为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
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
文件中的其他名称,以避免编译时对其进行多次定义