小编Hak*_*lee的帖子

Xcode 6.3上的体系结构x86_64的未定义符号

我最终确定了一个开源C编码的CometD库,我认为将它打开给像我这样的OSX/iOS用户是一个好主意.

为了简化OSX/iOS开发人员的工作,我想从静态C库切换到Xcode iOS Static Libary.所以我按照网上的建议,生成了一个静态的iOS兼容库.

问题是,每当我尝试使用它时,我都会收到类型错误:

架构x86_64:******的未定义符号,引用自: - **********in*******.a(*******.o)

我的库中几乎每个C函数都会重复此错误.

首先我想也许库不是x86_64 compatible,空的,或者真的没有任何x86_64符号.

所以我在图书馆检查了"lipo -info",这是答案:

在此输入图像描述

确实我还在库上使用了"nm -arch x86_64",并将Xcode报告的几个未定义函数作为错误.我以为我会错,除了猜猜什么都找不到?

我找到了符号: 在此输入图像描述

在此输入图像描述

所以我的问题是:

如果符号存在于x86_64兼容库中,为什么Xcode会提示此错误?即使我为所有arm*/s类型编译库,我仍然会收到此x86_64错误.

我没有意识到某事或我只是做错了吗?

您的答案总是受到赞赏.

更新(这是Xcode项目的链接):https://github.com/GhostGumm/CometD-x86_64-issue

更新2:Trojanfoe先生引起了我对编译时的链接警告的注意.实际上,链接器似乎错过了加载库以寻找不存在的目录.将库移动到右侧目录,手动链接后,x86_64错误消失.

可悲的是,问题仍然存在.在成功编译之后,我尝试使用lib,但是,当我"分配"和"初始化"我的主类时,如下所示:

  ZetaFactory *Client = [[ZetaFactory alloc] init]; 
Run Code Online (Sandbox Code Playgroud)

x86_64错误随着十亿个太阳的真正激烈而咆哮.我发布了Xcode项目的链接,请随意测试它,因为我没有更多关于如何解决它的想法,但更重要的是为什么以及在哪里有这个错误.

尽管如此,我还是会继续调查.

c x86-64 objective-c ios xcode6

23
推荐指数
1
解决办法
1677
查看次数

在与stringByAppendingString连接时注入一个字符

有没有办法连接两个字符串并注入一个字符.我有 :

NSString *firstString = @"http://www.stackoverflow.com";
NSString *secondString = @"supercooloptions";
NSString *result = [firstString stringByAppendingString: secondString];
NSLog(@"the final string with "/" injection = %@", result);
Run Code Online (Sandbox Code Playgroud)

我希望注入"/"的最终字符串= www.stackoverflow.com/supercooloptions

concatenation objective-c code-injection

1
推荐指数
2
解决办法
120
查看次数

Live555 WebRtc 集成

我过去在 WebRTC 上使用我非常熟悉的 C 服务器(Janus)工作,现在我想将 WebRtc 容量添加到 Live555,以便能够通过它流式传输一些视频。问题是我对 live555 缺乏文档感到不知所措(比 Janus 更糟糕)如果我可以恢复 live555 缺乏:

1- SDP 解析器/构建器

2- HTTP 信号解析器/生成器

我的问题是我是否看到所有缺失的或需要完成的?

如果有任何机会,有人可以给我一些提示。

c++ live555 webrtc

1
推荐指数
1
解决办法
1881
查看次数

标签 统计

objective-c ×2

c ×1

c++ ×1

code-injection ×1

concatenation ×1

ios ×1

live555 ×1

webrtc ×1

x86-64 ×1

xcode6 ×1