うまくいけば簡単な質問です。私はclangを使ってコマンドラインから基本的なObjective-Cコンパイルを学びたいと思っています。私はXcodeが複雑なプロジェクトのためのより優れたソリューションであることを理解しています。私はすぐにそれに移行するつもりですが、個人的には、ターミナルで手動でコンパイルできれば言語をよく理解しています。新しいプロジェクトを開始するよりも、端末でコンパイルするのが面倒です。コマンドラインで複数のObjective-Cファイルをclangでコンパイル
質問:私はどのように(コマンドラインから)複数のファイルで構成されるObjective-Cプログラムをコンパイルするのですか? (私は、Kochanの教科書の第7章から、#import "Fraction.h"と、FoundationフレームワークをインポートするFraction.hファイルの両方のmain.mとFraction.mファイルを使って分数プログラムを実行しようとしています)。
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
場合、私は:私は
clang -fobjc-arc main.m -o prog1
のようなものを使用しかし、私はそれを入力し、私はプロジェクト内のmain.m以外のファイルを含めたい場合は、私を含むエラーが発生します1つのファイルをコンパイルするには追加のファイルを引数としてコマンドに追加してみてください。
clang -fobjc-arc main.m Fraction.h Fraction.m -o prog1
その後、私は
clang: error: cannot specify -o when generating multiple output files
を取得し、私はそれから
clang -fobjc-arc main.m Fraction.h Fraction.m
よう-o引数を削除した場合、私はすべて最終的には致命的「で終わる、Foundationフレームワークを参照するエラーの巨大な山を取得エラー:非常に多くのエラーが発生し、現在停止しています。 "
どのようにして動作させるにはどうすればよいですか?あるいは、複数のファイルが関わるとすぐにそれを吸い込み、Xcodeを使用する必要がありますか?
コンパイラの引数としてインクルードファイル "Fraction.h"を指定すると、1つのエラーが発生します。 –
ああ!ありがとう。それだけです。.mファイルでなければならず、.hファイルではありません。 –