Go で C ライブラリの Go ラッパーを作成しています。問題は、C ライブラリが多くの Linux ディストリビューションで利用できないことです。そのため、「github.com/me/mylibrary を入手する」ために誰もライブラリをインストールする必要がないソリューションが必要です。
1 つの解決策は、ライブラリのソースをサブ ディレクトリに追加することです。次に、私のプロジェクトが go get でビルドされるときに、このライブラリも自動的にビルドする必要があります。しかし、これを自動化する方法がわかりません。
または、ソースをダウンロードし、抽出してビルドするスクリプトを作成することもできます
しかし、これらのビルドステップを go build ツールに接続する方法がわかりません。
静的ライブラリをリンクするのも簡単ではありません。
#cgo linux LDFLAGS: ./MyLib/lib/libMyLib.a -lstdc++ -lm -lX11
ライブラリからビルドしている限りは機能しますが、別のプロジェクトからビルドしたい場合、相対パスはライブラリからではなくそのプロジェクトからのものであるため、失敗します。