2

gnustepバージョンのmingwを使用してObjectiveCプログラムをコンパイルする方法を知っています。

しかし、私は彼らのシェルが好きではなく、標準のmingwgccコンパイラを使用したいと思います。

もちろん、このgcc binディレクトリを環境パスに配置し、helloworld.mディレクトリでコマンドプロンプトを開きます。

#import <Foundation/Foundation.h> 
int main (int argc, const char * argv[])
{
  NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  NSLog (@"Hello World!");
  [pool drain];
  return 0;
}

とタイプ

gcc -o hello hello.m -I /GNUstep/System/Library/Headers -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base -fconstant-string-class=NSConstantString

しかし、foundation / Foundation.hが見つからないため、機能しません。

これを修正し、可能であればhelloソースコードでのハードコーディングを回避する方法は?

4

2 に答える 2

4

ブロガーが書くように言っている投稿の最後にあるこちらをご覧ください。

gcc `gnustep-config --objc-flags` -o hello2 hello2.m -L /GNUstep/System/Library/Libraries -lobjc -lgnustep-base

常にGNUStepを通過する必要があるようです

于 2010-08-21T15:51:07.873 に答える
3

私は同じ問題を抱えていました。以下のようにコマンドラインを変更すると、問題が解決しました。

gcc -I"c:/GNUstep/GNUstep/System/Library/Headers" -L "c:/GNUstep/GNUstep/System/Library/Libraries" -o hello hello.m -lobjc -lgnustep-base -fconstant-string-class=NSConstantString
于 2012-02-02T13:51:29.700 に答える