私は、コマンドラインからの入力を使ってmakefileを使ってプログラムを実行する方法を理解しようとしています。メイクファイルでコマンドラインを実行する
たとえば、2つの整数を取り込んで加算して結果を返すプログラムfooがあるとします。私は、例えばメイクテストに入力すると、メイクファイルではそれが私のメイクに行くよ、それはように、この
test:
./foo 1 1
./foo 2 2
のように見えると思いますが、私はそれをやろうとしているとき、それはしていません走る私が紛失しているものはありますか?
'make'コマンドを実行すると、' foo'があるディレクトリにいますか?プログラムの絶対パスを使用するとどうなりますか?ああ、*何のエラーがありますか? –
@Someprogrammerdude実際には、今はプロジェクトと呼ばれるメインフォルダがあり、実行可能ファイルはプロジェクト/プログラムにあり、テスト用メイクファイルはプロジェクト/テストにあります。 ./project/program/foo 1 1を動作させるだけでいいと思っていました。私が得ているエラーは、./project/program/fooコマンドが見つかりませんでした。 – user3483844
'$ PWD/project/program/foo'が存在していて(xビットがセットされていますか)確信していますか?ところで、エラーは 'project/program/foo'については不平を言っていますが、あなたはあなたのmakefileにあります。多分あなたは間違った場所を探しています。いずれにしても、makefileの* test *ターゲットの下に最初のコマンドとして 'ls -l'を置きます。また、 'foo'がシェルスクリプトである場合は、' -x'で呼び出すことにします。たぶんこのfoo **は**実行されますが、別のディレクトリで別の* foo *を実行しようとします。これによりエラーが発生します。 – user1934428