問題タブ [gccgo]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - amd64(linux)からarm64(linux)へのcgoクロスコンパイル
arm64 ベースの so を使用して、「amd64」から「arm64」アーキテクチャの go コードを構築しようとしています。共有ライブラリを使用して go コードをビルドすると、以下のエラーが発生します。誰かがこれについて私を助けてくれますか?
Go バージョン: go1.10.3 linux/amd64
gcc バージョン: gcc バージョン 7.3.0 (Ubuntu 7.3.0-21ubuntu1~16.04)
環境に行く:
エラー: go build hello.go
行くコード:
go - gccgo でハイパーレジャーファブリックを構築する方法
gccgo を使用してハイパーレジャー ファブリックを構築する方法はありますか? gcc の -finstrument-functions オプションを使用して関数呼び出しをトレースするために、これを実行したいと考えています。しかし、私は2つの問題に遭遇しました。私の手順は次のとおりです。
- ビルドコマンドを見つける
make -n リリース
echo "linux-amd64 のリリース/linux-amd64/bin/configtxgen をビルドしています"
mkdir -p release/linux-amd64/bin CGO_CFLAGS=" "
GOOS=linux GOARCH=amd64 go build -o /home/yiifburj/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/configtxgen -tags "nopkcs11" -ldflags "-X github.com/ hyperledger/fabric/common/tools/configtxgen/metadata.Version=1.1.0" github.com/hyperledger/fabric/common/tools/configtxgen
- gccgo を使用するようにビルド コマンドを変更します。
CGO_CFLAGS=" " GOOS=linux GOARCH=amd64 go build -compiler gccgo -o /home/yiifburj/go/src/github.com/hyperledger/fabric/release/linux-amd64/bin/configtxgen -tags "nopkcs11" -gccgoflags "-X github.com/hyperledger/fabric/common/tools/configtxgen/metadata.Version=1.1.0" github.com/hyperledger/fabric/common/tools/configtxgen
#github.com/hyperledger/fabric/bccsp/factory
bccsp/factory/pluginfactory.go:12:8: エラー: インポート ファイル 'plugin' が見つかりません
"plugin"bccsp/factory/pluginfactory.go:56:15: エラー: 未定義の名前への参照
「プラグイン」プラグ、エラー:= plugin.Open(config.PluginOpts.Library)
まず、上記のように、go build で gccgo を呼び出したときに「プラグイン」が見つかりませんでした。もう1つは、gccgoを使用するときにldflags -Xを渡す方法ですか? -X は、gccgo ではなく gc ツールでのみ無効なパラメーターのようです。
誰でも私を助けることができますか?ありがとう。