22

次のようなマルチパッケージのgoプロジェクトをセットアップしようとしています

./main.go

./subpackage1/sub1_1.go

./subpackage1/sub1_2.go

./subpackage2/sub2_1.go

./subpackage2/sub2_2.go

ここで、main.go は subpackage1 と subpackage2 の両方をインポートします。そして、subpackage2 は subpackage1 をインポートします。

go makefile の例を探していますが、この種のセットアップをサポートするものは見つかりません。何か案が?

4

4 に答える 4

17

godagをインストールして実行します。

gd -o myapp

ディレクトリ内のすべての依存関係の有向非巡回グラフ (DAG) を自動的に構築し、src/各パッケージを適切な順序でコンパイルおよびリンクします。

特に、最近のバージョンの Go では $(GOROOT)/src/Make.* が変更されているため (Make.$(GOARCH) はもうありません)、手動で Makefile を維持するよりもはるかに簡単です。また有用:

gd cleanオブジェクトファイルを削除します。

gd -test自動化されたテストを実行します (テスト パッケージを参照してください)。

gd -dot=myapp.dotGraphViz を使用して視覚化できるパッケージ インポートのグラフを生成します。

于 2010-12-06T02:58:33.233 に答える
5

Makefile とテストを含む hello world (Google グループ: golang-nuts)

于 2009-11-19T22:29:55.660 に答える
4

Makefile を使用して積極的に管理されているマルチパッケージの Go プロジェクトであるhttps://github.com/banthar/Go-SDLを確認してください。

Make.$(GOARCH)これらの回答のいくつかは、廃止されたインクルードを使用していることに気付きました。したがって、上記のリンクが、ここでの回答で変化する Google の API を常に把握しようとするよりも安定することを願っています。

于 2011-06-02T05:15:17.293 に答える