CentOSでObjective-C開発環境をつくりましょう!
最近、SmartPhoneの開発結構人気がありますので、私もやりたいかな。ちょっと時間かけてCentOS5.3でObjective-Cの開発環境を作ってみた。
環境準備手順:
① 【$HOME】に「conf」、「src」、「src/CURRENT」、「src/CURRENT/etc」を作成。
② 【http://dag.wieers.com/rpm/packages/gnustep-base/】から、【gnustep-base-1.11.2-1.0.rh9.rf.i386.rpm
】をDownLoadして【$HOME/tmp/】に保存する。
③ 【cd $HOME/tmp/】 → 【rpm -i --percent gnustep-base-1.11.2-1.0.rh9.rf.i386.rpm
】
(注:インストール中、何か必要なlibが必要ならyumでインストールしてください)
④ 【$HOME/src/CURRENT/etc】 に、【cat /usr/GNUstep/Library/Libraries】で【gnustep.lib.conf】を作成。
⑤ 【$HOME/src/CURRENT/etc/gnustep.lib.conf】を【$HOME/conf/gnustep.lib.conf】にリンクする。
⑥ 【sudo ln -s $HOME/conf/gnustep.lib.conf /etc/ld.so.conf.d/gnustep.lib.conf】を実行する。
⑦ 【/sbin/ldconfig –v】を実行。
==========================「ここまで、環境の準備が終わります。」===================================
テストプログラムを作成:
1. Fraction.h
#import <Foundation/NSObject.h>
@interface Fraction: NSObject {
int numerator;
int denominator;
}
-(void) print;
-(void) setNumerator: (int)n;
-(void) setDenominator: (int)d;
-(int) numerator;
-(int) denominator;
@end
2. Fraction.m
#import "Fraction.h"
#import <stdio.h>
@implementation Fraction
-(void) print {
printf("%i%i", numerator, denominator);
}
-(void) setNumerator: (int)n {
numerator = n;
}
-(void) setDenominator: (int)d {
denominator = d;
}
-(int) denominator {
return denominator;
}
-(int) numerator {
return numerator;
}
@end
3. main.m
#import <stdio.h>
#import "Fraction.h"
int main(int argc, char* argv[])
{
Fraction* frac = [[Fraction alloc] init];
[frac setNumerator: 1];
[frac setDenominator: 3];
printf("The fraction is: ");
[frac print];
printf("\n");
[frac release];
return 0;
}
4. Compile(詳しい情報は、MANに参考)
【gcc -x objective-c -o xxx main.m Fraction.m -I/usr/GNUstep/Library/Headers/ -L/usr/GNUstep/Library/Libraries/ -lgnustep-base -lobjc】
5. 実行
【./xxx】
_____________________________________________________________________________________________________________
CentOSで:
【-fconstant-string-class=NSConstantString】をGCCコンパイルオプションに追加して、ある【NXConstantString】に関連するエラーが解決できます。
環境準備手順:
① 【$HOME】に「conf」、「src」、「src/CURRENT」、「src/CURRENT/etc」を作成。
② 【http://dag.wieers.com/rpm/packages/gnustep-base/】から、【gnustep-base-1.11.2-1.0.rh9.rf.i386.rpm
】をDownLoadして【$HOME/tmp/】に保存する。
③ 【cd $HOME/tmp/】 → 【rpm -i --percent gnustep-base-1.11.2-1.0.rh9.rf.i386.rpm
】
(注:インストール中、何か必要なlibが必要ならyumでインストールしてください)
④ 【$HOME/src/CURRENT/etc】 に、【cat /usr/GNUstep/Library/Libraries】で【gnustep.lib.conf】を作成。
⑤ 【$HOME/src/CURRENT/etc/gnustep.lib.conf】を【$HOME/conf/gnustep.lib.conf】にリンクする。
⑥ 【sudo ln -s $HOME/conf/gnustep.lib.conf /etc/ld.so.conf.d/gnustep.lib.conf】を実行する。
⑦ 【/sbin/ldconfig –v】を実行。
==========================「ここまで、環境の準備が終わります。」===================================
テストプログラムを作成:
1. Fraction.h
#import <Foundation/NSObject.h>
@interface Fraction: NSObject {
int numerator;
int denominator;
}
-(void) print;
-(void) setNumerator: (int)n;
-(void) setDenominator: (int)d;
-(int) numerator;
-(int) denominator;
@end
2. Fraction.m
#import "Fraction.h"
#import <stdio.h>
@implementation Fraction
-(void) print {
printf("%i%i", numerator, denominator);
}
-(void) setNumerator: (int)n {
numerator = n;
}
-(void) setDenominator: (int)d {
denominator = d;
}
-(int) denominator {
return denominator;
}
-(int) numerator {
return numerator;
}
@end
3. main.m
#import <stdio.h>
#import "Fraction.h"
int main(int argc, char* argv[])
{
Fraction* frac = [[Fraction alloc] init];
[frac setNumerator: 1];
[frac setDenominator: 3];
printf("The fraction is: ");
[frac print];
printf("\n");
[frac release];
return 0;
}
4. Compile(詳しい情報は、MANに参考)
【gcc -x objective-c -o xxx main.m Fraction.m -I/usr/GNUstep/Library/Headers/ -L/usr/GNUstep/Library/Libraries/ -lgnustep-base -lobjc】
5. 実行
【./xxx】
_____________________________________________________________________________________________________________
CentOSで:
【-fconstant-string-class=NSConstantString】をGCCコンパイルオプションに追加して、ある【NXConstantString】に関連するエラーが解決できます。