microsearchのブログ -11ページ目

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】に関連するエラーが解決できます。



apache log 管理



cronologを用いてApacheのLogの管理




1. download cronolog




tar xzvf cronolog-1.6.2.tar.gz

cd cronolog-1.6.2

2. コンパイル



./configure

make

make install

3. ApacheのConfigファイル「httpd.conf」を修正




CustomLog "|/usr/local/sbin/cronolog /var/log/httpd/www/access%Y%m%d.log" combined




4. 保存Configファイル、Apacheを再起動



/etc/rc.d/init.d/httpd stop

/etc/rc.d/init.d/httpd start



Logのフォーマットは、下記のように:


/var/log/httpd/www/access20050918.log










jar ファイルの作成

最近、仕事のためJavaを使います。JARファイルの作成について例で説明します。

1.環境:PWD=/home/sm/tmp/pjb/bus
2.$PWDに、Hello.javaがあります。内容:
  package com.sm.jp.sm;
  public class Hello {
public void sayHello(String msg) {
System.out.println(msg);
}
  }

3. Hello.javaをコンパイル:
  #javac -d com/sm/jp/sm/ Hello.java

4. 「$PWD/com/sm/jp/sm/Hello.class」が存在するかどうかを確認:
  #ls com/sm/jp/sm/Hello.class

5.$PWDに、Test.javaがあります。内容:
   import com.sm.jp.sm.Hello;
   public class Test {
public static void main(String[] args) {
Hello hk = new Hello();
hk.sayHello("you there.");
}
   }

6. Test.javaをコンパイル:
   #javac Test.java

7. 「$PWD/Test.class」が存在するかどうかを確認:
   #ls Test.class

8. $PWDにTest.classを実行して、結果を確認:
   #java Test

9. 上の8は、$PWDにTest.classしか実行できないですが、これからJARファイル「test.jar」を作成する。    test.jarファイルは、どこでも実行できます。

10.$PWDに、「main.txt」を用意する。内容:
    Main-Class: Test

11.$PWDに、「test.jar」を作成する。
   #jar -cvfm test.jar main.txt Test.class com/sm/jp/sm/Hello.class
*説明:
   ①Test.javaにHelloを使っているので、JARファイルを作成するとき関連のHello.classを含む必要。
   ②JARを作成するとき、DIRの構造が十分注意にください。    

12. 「$PWD/test.jar」が存在するかどうかを確認:
  #ls test.jar

13. $PWDに、test.jarを実行:
  #java -jar test.jar

14. 「$PWD/test.jar」を「/home/xxxx」にコピーして、実行する:
  #cp $PWD/test.jar /home/xxxx && cd /home/xxxx
#java -jar test.jar




********************************************************************************
===============================================================================
下記の記事は、もう古いです。上記の方が新しいです。
===============================================================================
1.  JAR
の作成について、参考リンク先です。

2. packageの作成



$HOME/javaprj/src/下に、



xtest.javaの内容は:



package bts;

import java.util.*;



public class xtest {

static String msg = new String("hello,jet");

public static void main(String[] args){

System.out.println(msg);

}

}



compile方法:

#javac -d <dirname> <src-file>



main.txtの作成:

Main-Class: <package-name>.<main-class-name><enter key here>



jarにする方法:

#jar -cvfm test.jar main.txt <dirname>