一旦第 三方库的安装路径变化了,Golang的代码也要跟着变化,所以使用pkg-config无疑是一种更为优雅的方法,不管库的安装路径有何变化,我们都不 需要修改Go代码,接下来本博主就用一个简单的例子来说明如何在cgo命令中使用pkg-config。 首先假定我们在路径/home/ubuntu/third-parties/hello下安装了一个名称为hello的第...
set CGO_FFLAGS=-g -O2 set CGO_LDFLAGS=-g -O2 set PKG_CONFIG=pkg-config set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\User\AppData\Local\Temp\go-build996279958=/tmp/go-build -gno-record-gcc-switches ...
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64" GCCGO="gccgo" AR="ar" CC="gcc" CXX="g++" CGO_ENABLED="1" GOMOD="" CGO_CFLAGS="-g -O2" CGO_CPPFLAGS="" CGO_CXXFLAGS="-g -O2" CGO_FFLAGS="-g -O2" CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64...
// file static_cgo.go // +build static /* #cgo pkgconfig: --static libxml-2.0 #cgo LDFLAGS: -static */ import "C" And use go build -tags static will build a static binary. Member ianlancetaylor commented Sep 10, 2015 @kolyshkin I don't like the idea of adding a -static ...
set CGO_LDFLAGS=-g -O2 set PKG_CONFIG=pkg-config set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\xiao\AppData\Local\Temp\go-build12972845=/tmp/go-build -gno-record-gcc-switches ...
set CGO_LDFLAGS=-O2 -g set PKG_CONFIG=pkg-config set GOGCCFLAGS=-m32 -fno-caret-diagnostics -Qunused-arguments -Wl,--no-gc-sections -fmessage-length=0 -fdebug-prefix-map=C:\Users\HYX\AppData\Local\Temp\go-build3874135637=/tmp/go-build -gno-record-gcc-switches ...
CGO_LDFLAGS="-g -O2" PKG_CONFIG="pkg-config" GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/qj/7g6cxp596b93yqm5v8z3k05c0000gn/T/go-build675742331=/tmp/go-build -gno-record-gcc-switches -fno-common" ...
既然基础镜像需要gcc,那就把带gcc的golang基础镜像重新做一个cgo-mck镜像不就可以了嘛,于是进行修改。 代码语言:javascript 代码运行次数:0 运行 AI代码解释 # 多阶段构建 #构建一个 builder 镜像,目的是在其中编译出可执行文件mck #构建时需要将此文件放到代码根目录下FROMcgo-mck:mckasbuilderENVGOOS=linuxENVGO...
库源码文件被安装后,相应的归档文件(.a 文件)会被存放到当前工作区的 pkg 的平台相关目录下。 3、测试源码文件 名称以 _test.go 为后缀的代码文件,并且必须包含 Test 或者 Benchmark 名称前缀的函数: 代码语言:javascript 代码运行次数:0 运行 AI代码解释 ...
Basic usage of Cgo, including linking a custom C library into the Go binary. Passing structs from Go to C. Passing Go functions to C and arranging C to call them back later. Safely passing arbitrary Go data to C code, which can later pass it back to the Go callbacks it invokes....