1

我在目标 C 中首次亮相,我正在尝试为 iOS 做一个简单的密码生成器。在这段代码中,我尝试创建一个包含字母和数字的随机字符串。然后我尝试用 a 显示这个字符串NSLog(看看它是否有效)

当我运行程序时,我得到了这个错误:

在此处输入图像描述

我创建了 2 个文件,有我的viewcontroller.m

在此处输入图像描述

我的viewcontroller.h

在此处输入图像描述

你能帮助我吗?

4

3 回答 3

4

不知何故,您的项目中有一些强大的东西。

  • start基本上是您程序的入口点;它是 dyld 初始化的一部分,是跳转到main(). (尝试设置一个符号断点start,然后运行你的应用程序——这是一个很小的例程,dyld它可以计算出它在哪里main并对其进行尾调用,这就是为什么你永远不会在回溯中看到它,除非某些事情变得非常、疯狂、错误) .

  • arc4random是 C 标准库的一部分。它应该始终可用。

我看到的唯一线索是链接线使用-nostdlib. 这似乎很奇怪。转到您的构建设置并确保打开与标准库的链接。如果不是,发生了什么,还有什么可能发生了变化?

请注意,代码还有许多其他问题。

头文件中的那些非 ivar 声明会导致问题;当您第一次将该文件#import 到另一个编译单元(另一个 .m 文件)时,它们将成为重复符号。

@interface UIViewController()没有必要(也不应该在系统类上声明方法)。

于 2013-03-26T15:14:24.760 回答
-1

嗨,请执行以下步骤 1) 重新启动 XCode。2)请检查您是否添加了石英代码框架。3) 清洁和建造。

请删除.m 文件中-(NSString *)generer:(int)len中的语句后的分号(;) 。

在以前的应用程序中,我也遇到了同样的问题。希望这会有所帮助。

于 2013-03-26T14:35:20.187 回答
-2

您在程序 arc4random() 中使用了 c++ 代码,这是 i386 架构的未定义符号,我不明白这个错误。

要解决此问题,只需#include <stdlib.h>在标题处添加 .this 即可。

于 2013-03-26T11:38:10.620 回答