をありがとうとあなたのソースをその中にリストアップしてください。ここで
は、単純な「Hello World」のコマンドラインの例です:
は、ソースコードを格納するディレクトリを作成します。 HelloWorldは良い考えです。
その場合、ファイルmain.m
,Greeter.m
およびGreeter.h
を作成します。
-sayHelloToRecipient:
のメソッドを1つだけ持つGreeter
クラスを作成します。 Greeter.h
で
:
#import <Foundation/Foundation.h>
@interface Greeter : NSObject {
}
-(void)sayHelloToRecipient:(NSString *)recipientName;
@end
そしてGreeter.m
中:
#import "Greeter.h"
@implementation Greeter
-(void)sayHelloToRecipient:(NSString *)recipientName {
NSLog(@"Hello %@!", recipientName);
}
@end
あなたmain.m
ファイルは、単にGreeter
を含み、引数@"World"
でそれを呼び出します。
#import "Greeter.h"
int main(void) {
Greeter *greeter = [[Greeter alloc] init];
[greeter sayHelloToRecipient:@"World"];
[greeter release];
return 0;
}
今、あなたが構築するためにあなたのソースの準備ができて持って、あなただけのGNUmakefile
を作成する必要があります。空のファイルを作成し、include $(GNUSTEP_MAKEFILES)/common.make
という行で開始し、行はinclude $(GNUSTPEP_MAKEFILES)/tool.make
で終わります。
最初の行にはGNUstepが提供する他のすべてのmakefileとターゲットが含まれています。最後の行には、コマンドラインツールを作成するために必要なmakefileが含まれています。 GUIアプリケーションを構築していた場合は、application.make
を追加します。フレームワークのためにあなたがframework.make
など
include $(GNUSTEP_MAKEFILES)/common.make
# Your project-specific directives will go here
include $(GNUSTEP_MAKEFILES)/tool.make
を含めると思いますが、これらの行の間に置くものがプロジェクトにプロジェクトから変わるものです。
完全GNUmakefile
は、次のようになります。そうする include $(GNUSTEP_MAKEFILES)/common.make
HELLO_ROOT_DIR = $(abspath .)
GNUSTEP_BUILD_DIR = $(HELLO_ROOT_DIR)/build
TOOL_NAME = HelloWorld
HelloWorld_OBJC_FILES = \
Greeter.m \
main.m
include $(GNUSTEP_MAKEFILES)/tool.make
HELLO_ROOT_DIR
は完全に任意であり、プロジェクトの成長に合わせて(ルートへのパスを再入力することから私を保存し、変数だけであり、メークファイルの複雑さ)。
TOOL_NAME
、すなわち、この場合には、私はTOOL_NAME
は「HelloWorldの」であるため、HelloWorld_OBJC_FILES
を使用する必要があります(コマンドラインツールのために必要と出力ファイル名の両方を指定し、あなたが*_OBJC_FILES
ラインに使用するために必要なものを決定している。
makefileと同じディレクトリにあるなら、 `make 'と入力するだけでツールをビルドすることができます。ビルドディレクトリが作成され、そこに実行可能ファイルがありますこれは呼び出されたときに出力されます:
-$ ./build/obj/HelloWorld
2010-11-28 03:36:28.459 HelloWorld[12949] Hello World!
なしあなたの環境が正しく構成されていない場合は、この機能は動作します。私はWindowsでこれをやったことはありませんが、私は同じ原則が当てはまると思います。これはLinux/UNIX上でシェルスクリプトを実行しています(Windowsのバッチファイルを実行していますか?)。
-$ . /usr/share/GNUstep/Makefiles/GNUstep.sh
それが正しくコンソールに環境変数GNUSTEP_MAKEFILES
を印刷することにより構成されたかどうかを確認することができます:
-$ echo $GNUSTEP_MAKEFILES
(Windows上でこれを行う方法がわからない)
を、それは何も出力しない場合は、あなたの環境が正しく設定されておらず、GNUstepが正しくインストールされていない。パスを出力する場合は、 `make 'を実行するのが安全でなければなりません。
私はこの質問の頭や尾を作ることはできませんが、あなたはCocoa、Carbon、CoreAnythingを持っていないことに注意してください。 –
あなたはどのプラットフォームをターゲットにしていますか? – WrightsCS
おそらくこの質問は役に立ちます:http://stackoverflow.com/questions/1060958/gnustep-getting-started –