Linux下配置object-c开发环境

开发环境实际上就是“编译器+库+头文件+辅助开发工具”。

在linux上,首先分别安装object-c相关的编译器,库,辅助开发工具和头文件。

(类别:包名)

编译器:gobjc,gobjc++

库:gnustep

辅助开发工具:gnustep-make

头文件:gnustep-devel

(以上包名是ubuntu上的,其他linux发行版本的名字可能不会完全一样,但关键词肯定是相同的,比如gobjc,gnustep等)



代码示例:

Fraction.h

#import <Foundation/NSObject.h>

@interface Fraction: NSObject {
    int numerator;
    int denominator;
}

-(void) print;
-(void) setNumerator: (int) d;
-(void) setDenominator: (int) d;
-(int) numerator;
-(int) denominator;
@end


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

main.m

#import <stdio.h>
#import "Fraction.h"

int main(int argc, const 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;
}

Makefile示例:

Fraction:
    gcc Fraction.m main.m `gnustep-config --objc-flags` -lgnustep-base `gnustep-config --objc-libs` -Wl,--no-as-needed -o Fraction

运行结果:

chenqi@pek-qchen1-d1:~/projects/OBJ-C [1] $ ./Fraction
The fraction is: 1/3
chenqi@pek-qchen1-d1:~/projects/OBJ-C [1] $



你可能感兴趣的:(linux,makefile,GNUStep,Object-C,gobjc)