0

iPhone アプリで SmallSockets を使用して、Windows ホスト (サーバー) への TCP ソケット接続を確立しようとしています。コンパイルすると、次のエラーが発生します。

  Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_Socket", referenced from:
  objc-class-ref in SmallSocketsTestViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

具体的には、赤で示したのは次の行です。

  "_OBJC_CLASS_$_Socket", referenced from:
clang: error: linker command failed with exit code 1 (use -v to see invocation)

私は iOS 開発は初めてで、ソケット プログラミングもまったく初めてなので、これらのエラーに関してはかなり迷っています。どんな助けでも大歓迎です。ありがとう!

接続を確立するために使用しているコードは次のとおりです。

-(IBAction)btnConnect:(id)sender
{
    Socket *socket;
    int port = 11005;
    NSString *host = @"19.5.8.63";

    socket = [Socket socket];

    @try
    {
        NSMutableData *data;
        [socket connectToHostName:host port:port];
        [socket readData:data];
    //  [socket writeString:@"Hello World!"];

    //** Connection was successful **//
    //[socket retain]; // Must retain if want to use out of this action block.
    }
    @catch (NSException* exception) 
    {
        NSString *errMsg = [NSString stringWithFormat:@"%@",[exception reason]];
        NSLog(errMsg);
        socket = nil;
    }

    //** Disconnect **//
    [socket close];
}

このメソッド全体をコメントアウトすると、エラーは発生しません。それがこの問題に光を当てるのに役立つかどうかはわかりません.

4

1 に答える 1

1

最後にそれを理解しました...ライブラリファイルをプロジェクトに追加するときに、「ターゲットに追加」を選択しませんでした。/フェイスパーム

于 2012-05-31T19:41:18.990 に答える