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

我正在尝试在ubuntu 14.04下执行cgo代码,看来cgo假定 CC / CXX </ code>为 gcc / g ++ </ code>。 而且我需要明确指定 CC / CXX </ code>以便使用clang。 我可以配置通过go的构建约束使用的默认编译器吗?</ p>

谢谢!</ p>
</ div>

展开原文

原文

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!

cgo
doulun9534
doulun9534 赞赏而又经验丰富的“组合Go代码和C代码会导致两个世界交叉,而不是并集;C的内存安全性以及Go程序的可调试性。”在过去的几天里...虽然我最喜欢第一段:)
3 年多之前 回复
dongping9475
dongping9475 为什么您的评论没有+10选项?我愿意再给代表投票一次。@YandryPozo
3 年多之前 回复
dongtang6775
dongtang6775 只是一个友好的提醒Cgo不是Godave.cheney.net/2016/01/18/cgo-is-not-goblog.golang.org/c-go-cgo
3 年多之前 回复

1个回答



如果您使用 go </ code>命令生成代码,则 CC_FOR_TARGET </ code>环境变量确定 go </ code>在哪里寻找C编译器。</ p>

例如 env CGO_ENABLED = 1 CC_FOR_TARGET = / path / to / compiler进行编译foo.go </ code> </ p>

似乎无法使用编译约束来指定编译器 ,尽管可以指定CFLAGS。 有关详细信息,请参见下面的文档。</ p>

参考: https ://golang.org/cmd/cgo/#hdr-Using_cgo_with_the_go_command </ p>
</ div>

展开原文

原文

If you're using the go command to build the code, then the CC_FOR_TARGET environment variable determines where go looks for the C compiler.

e.g. env CGO_ENABLED=1 CC_FOR_TARGET=/path/to/compiler go build foo.go

It doesn't look like it's possible to specify the compiler using build constraints, though it is somewhat possible to specify CFLAGS. See the docs below for details.

Reference: https://golang.org/cmd/cgo/#hdr-Using_cgo_with_the_go_command

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问