golangクロスコンパイルsqliteの問題解決-cgoクロスコンパイル
ところで、削除タスクを書いた小物は、sqliteでは、githb.com/matn/go-sqlite 3というライブラリでdatabase/sqlインターフェースをサポートしています。デフォルトではcgoはクロスコンパイルが許されていません。私は下開発のCntosでcgoをコンパイルしたいです。仕方なくdockerを取り出します。–rm削除容器 -v宿主gopathを容器gopathにマッピングします。このようにして、パケットコードをダウンロードする必要がないです。 golang:1.10 goミラーバージョン bash-c直接bashコマンド cd$GOPATH/src/codeは容器プロジェクトディレクトリに入りました。-vはすでに宿泊ホストの上の項目をコンテナに入れました。 CGO_ENABLED=1 GOOS=linux GOARCH=amd 64 go build delete_task.goコンパイルdelete_task.goプログラムファイル
docker run --rm -v $GOPATH:/go golang:1.10 bash -c 'cd $GOPATH/src/code && CGO_ENABLED=1 GOOS=linux GOARCH=amd64 go build delete_task.go'
必要に応じて変更できます。コンパイルが終わったら自動的に容器を削除します。