我可以更改cgo使用的默认编译器吗?

huangapple go评论83阅读模式
英文:

Can I change default compiler used by cgo?

问题

我正在尝试在Ubuntu 14.04下执行cgo代码,似乎cgo假设CC/CXXgcc/g++。我需要明确指定CC/CXX以便使用clang。我能否通过Go的构建约束来配置默认的编译器?

谢谢!

英文:

I am trying to execute cgo code under ubuntu 14.04, it seems like cgo assume CC/CXX to be gcc/g++. And I need to explicitly specify CC/CXX in order to use, say, clang. Can I configure default compiler used through go's build constraints?

Thanks!

答案1

得分: 5

cgo使用的C或C++编译器可以分别通过CCCXX环境变量进行指定。例如,要使用Clang编译器:

CC=clang go build path/to/cgo/dependent/code.go

这些变量还可以指定传递给编译器的标志;例如,要使用带有优化选项的GCC编译器:

CC="gcc -O2" go build path/to/cgo/dependent/code.go
英文:

The C or C++ compiler used by cgo can be specified using the CC and CXX environment variables respectively. For example, to use Clang:

CC=clang go build path/to/cgo/dependent/code.go

The variables can also specify flags to be passed to the compilers; for example, to run GCC with optimizations:

CC="gcc -O2" go build path/to/cgo/dependent/code.go

答案2

得分: 4

你可以通过设置CC环境变量来指定要使用的编译器:

go env -w "CC=clang"

英文:

You can specify which compiler to use by setting the CC environment variable:

go env -w "CC=clang"

huangapple
  • 本文由 发表于 2017年7月1日 07:53:35
  • 转载请务必保留本文链接:https://go.coder-hub.com/44856124.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定