【问题标题】:SmallSockets Linker error with iPhone appiPhone 应用程序的 SmallSockets 链接器错误
【发布时间】:2012-06-06 00:56:40
【问题描述】:

我正在尝试在我的 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];
}

如果我将整个方法注释掉,我不会收到任何错误。不确定这是否有助于阐明这个问题。

【问题讨论】:

    标签: iphone ios sockets networking


    【解决方案1】:

    终于想通了...我在将库文件添加到项目时没有选择“添加到目标”。 /掌脸

    【讨论】:

    • 是的,先生。非常感谢 StackOverflow 社区的好人 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 2011-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-10
    相关资源
    最近更新 更多