問題タブ [vpath]
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.
makefile - make はどのように「VPATH」をサブ make に渡しますか?
コメントありがとうございます。この場合、実際にVPATH
は使用されません。
プロジェクトを再帰的にビルドするために、いくつかのメイクファイルを作成します。
ルート ディレクトリのmakefileの一部は次のようになります。
ご覧のとおり、計算コストを節約するために変数VPATH
をサブmakeに渡します。そして、システム全体が機能します。
ただし、サブディレクトリの検索パスは、ルート ディレクトリの検索パスとは異なります。
サブmakeのVAPTH の値を出力しました。実際のパスは、ルート ディレクトリに対するものです。したがって、サブmakeのVPATH は間違っているはずです。
しかし、システム全体が機能します。これはどのように起こったのですか?誰かが私に提案をします. 前もって感謝します
c - vpath を使用して生成されたファイルを見つける
*.c
a を にコンパイルして*.o
から に移動する Makefile を作成しようとしていますobj/
。*.o
ただし、すべてのファイルをリンクしようとするとmain
、生成されたファイルが見つからなかったかのようにエラーが発生します。コードに正しいパスのプレフィックスを付けようとしましたが、とにかく見つかりませんでした。ファイルを見つけるために、コードに何を変更する必要があるかについて、誰かが考えてい*.o
ますか。これは私の Makefile です:
どんな提案でも大歓迎です。生成されたファイルを見つけるために vpath が推奨されていないことを読みました。しかし、これは割り当てであり、このように使用する必要があります。2 行のコメントを外し、ルールの最後の 2 行をコメントにする%.o
と、コードはうまく機能しますが、それはできません。これは実行時のエラーです: