紹介:make: *** No rule to make target 'temperature 2'. Stop.
Terminal output screenshot
これは私がタイプです:私は2.C温度と呼ばれ、私は、ファイルを「作る」にターミナルを使用する場合、それはエラーを返し、ファイルを作りましたターミナルウィンドウに表示します。
make temperature\ 2
バージョン情報:私はMacOSの10.12.5を使用していアップルLLVMバージョン8.1.0(打ち鳴らす-802.0.42)
Xcodeのバージョン8.3.2(8E2002)
と追加情報:私はmake "temperature 2"
を使ってみましたが、誰かがWindows上で動作することを提案しましたが、Macでは動作しません。
私はターミナルウィンドウで正しいディレクトリを選択しました。私は完全に他のすべてのファイルをコンパイルすることができます。
Screenshot of the file
私は単に問題を修正するアンダースコアでスペースを置き換えることができるという事実を認識してんだけど、私はこれが最初の場所で起こっている理由を知りたいです。
端末は、の空白()の名前に(バックスラッシュを使用して)他のディレクトリをうまく処理するので、なぜこの場合は動作しませんか?
ありがとうございます。迅速かつ簡単な1ファイルCプログラムのためのスペースを含むファイル名の場合、Cで 'make'を使うにはどうすればいいですか?
答えて
makeはコマンドをコマンドとして実行するシェルにコマンドを送ります。あなたはこのような1行がある場合:
.c.o:
$(CC) $(CFLAGS) -c -o [email protected] $<
をあなたは
make "some thing".o
をしようとするときには、「いくつかのことというファイルを見つけようとします。C」と
cc -c -o some thing.o some thing.c
一部に三つのファイル
thing.o
をコンパイルしようとすることです
、some
とthing.c
を実行します。しかし、あなたが
.c.o:
$(CC) $(CFLAGS) -c -o "[email protected]" "$<"
にルールを変更した場合には、フィードますシェルこれと
cc -c -o "some thing.o" "some thing.c"
これはp正しい行動を起こす。
Makefileの
.c.o:
$(CC) $(CFLAGS) -c -o "[email protected]" "$<"
(FreeBSDシステムにおける)のサンプル実行:
$ make "the problem.o"
cc -O -pipe -c -o "the problem.o" "the problem.c"
作る呼び出し、それはMakefileを持っているあなたを必要とし、
があなたのメイクがはっきりわかります
gcc -o "temperature 2" "temperature 2.c"
または
clang -o "temperature 2" "temperature 2.c"
を試してみてくださいそれで:
make: *** No rule to make target 'temperature 2'. Stop.
gccまたはclangを使用せずに./a.outを使用しようとしています。私は単純に結果を得るために 'make'コマンドを使用しようとしています。 –
* NIXシステムでmakeを使用したいのですが、何をすべきかを教えるためにMakefileが必要です。 [単純なCプログラムをコンパイルするためのMakefileの記述方法](https://stackoverflow.com/questions/21548464/how-to-write-a-makefile-to-compile-a-simple-c-program) – Danny
私は、 'make'が他のすべてのファイルと連携していると付け加えたいと思います。 'temperature 2'から 'temperature_2'に変更すると動作します –
Makeにはいくつかのルールが組み込まれていますが、ファイル名のスペースやその他の「異常な」文字に対応するようには設計されていないので、それらを上書きするMakefileを記述するか、ファイル名を変更する必要があります。
このルールは、ターゲットファイル[email protected]
と入力ファイル$<
の前後に引用符を付ける必要があります。
%: %.c
$(CC) $(CFLAGS) -o "[email protected]" "$<"
ありがとう、それは私のクエリを解決しました。あなたの回答の一部を使用する別の回答を追加しましたが、 –
ただ1つの引用:あなたが投稿している構文は、Mac OSXで利用できるmakeではない* GNU make *でのみ有効です*(BSDから派生したものです –
あなたの答えを見て、私は実際にあなたがそれに言及したときにその文法を実際にはぼんやりと覚えています。 GNU makeがまだそれを認識しているように見える:O –
- 1. rpm-maven-pluginを使用している場合、名前にスペースを含むファイルを含めるにはどうすればよいですか?
- 2. SASマクロにスペースを含むテーブル名を使用するにはどうすればよいですか?
- 3. スペースを含むパラメータを渡すにはどうすればよいですか?
- 4. ラテックス - Bibtex/BibLatex - パスにスペースを含むファイルを含めるにはどうすればよいですか?
- 5. VB6でスペースを含むパス名を区切るにはどうすればよいですか?
- 6. MANIFEST.MFのクラスパスにスペースを含むファイルを処理するにはどうすればよいですか?
- 7. GNU makeがドル記号を含むファイル名に干渉しないようにするにはどうすればよいですか?
- 8. 名詞タグを含む単語をファイルから取り出すにはどうすればいいですか?
- 9. を読むにはどうすればいいですか?C#
- 10. カラム名にスペースがある場合、CSVをMySQLにインポートするにはどうすればよいですか?
- 11. C言語のファイルを読むにはどうすればいいですか
- 12. スペースでemacs diffを使うにはどうすればいいですか?
- 13. 何百ものファイルがある場合、特定の文字列を含むファイルのファイル名を取得するにはどうすればよいですか?
- 14. スペースを含むパラメータの値でGETリクエストを送信するにはどうすればよいですか?
- 15. C++でiniファイルを読むにはどうすればよいですか?
- 16. C#でSNMP MIBファイルを読むにはどうすればよいですか?
- 17. スペースとスラッシュを含むファイルの場所をAppleScriptで書き込むにはどうすればよいですか?
- 18. リファクタリング:120スペースのコード領域に長い名前を含めるにはどうすればよいですか?
- 19. objective-cの関数のみを含むファイルを作成するにはどうすればよいですか?
- 20. シェルスクリプト内のスペースを含むパラメータを外部プログラムに渡すにはどうすればよいですか?
- 21. Makeでループ内のファイル名拡張子を削除するにはどうすればよいですか?
- 22. シンプルリストを含む2つのファイルを結合するにはどうすればよいですか?
- 23. Override CompareTo:nullの場合はどうすればいいですか?
- 24. antのjarタスクによってjarファイルに含まれている場合、ファイルの名前を変更するにはどうすればよいですか?
- 25. C#trivia game:ネクタイの場合はどうすればいいですか?
- 26. スペースを含むイメージパスを作成するにはどうすればよいですか?
- 27. tf.decode_csvでテンソルフローの長い行を含むCSVファイルをデコードするにはどうすればよいですか?
- 28. .NET用SQL API(C#)を使用する場合、ファイルの拡張子はどうすればよいですか?
- 29. 変数から渡されたときに名前にスペースを含むフォルダ名をエスケープするにはどうすればよいですか?
- 30. Power Queryのスラッシュを含むフィールド名を参照するにはどうすればいいですか?
は、あなたのメイクファイルからrelevat行を表示します。私。 [mcve]を作ってください。 – Yunnosch
可能な複製:https://stackoverflow.com/questions/15004278/allow-space-in-target-of-gcc-makefile – teroi
スクリーンショットから、あなたはMakefileを持っていないので、あなたは 'make 'していますか? –