将一个简单的库添加到xcode 4项目中

use*_*611 6 xcode ios4

我知道这是一个非常简单的问题,但我一直在努力解决它.我已经阅读了几个主题,但似乎仍然可以找到答案.

我正在尝试将此DDMathParser库添加到现有项目中.数学解析器文档说明

"只需将"DDMathParser"子文件夹复制到你的项目中,#import"DDMathParser.h",你就可以了."

我将子文件夹添加到我的项目中并将标题"#import"DDMathParser.h'添加到我的第一个视图控制器.起初Xcode表示它找不到该文件.我接受了另一个线程的建议并更改了我的标题包括文件夹

#import "DDMathParser/DDMathParser.h"
Run Code Online (Sandbox Code Playgroud)

Xcode似乎找到了文件夹和头文件,但是当我从文档中运行测试时如

NSLog(@"%@", [@"1 + 2" numberByEvaluatingString]);
Run Code Online (Sandbox Code Playgroud)

我收到错误'线程1:程序收到sginal:"SIGABRT"'我可以在DDMathParser示例文件中看到有一个目标,我想知道这是否是我的问题.

澄清问题我试图将DDMathParser库添加到一个简单的视图控制器并运行staement NSLog(@"%@", [@"1 + 2" numberByEvaluatingString]); 任何帮助/澄清这样做将不胜感激.

mem*_*ons 12

首先,请不要通过子文件夹副本将DDMathParser代码添加到项目中.这样做会使得轻松获取代码的任何未来更新变得很麻烦,并且通常不是在项目中包含外部代码的非常好的方法.

相反,你应该将git repo添加为项目的子模块(你正在使用git,对吧?)并将相关文件导入到你的项目中.这是一个循序渐进的解决方案:

  1. 将DDMathParser存储库添加为项目的子模块.以下是有关如何在项目目录中添加子模块的说明.看一下这个答案,但为简洁起见,您将从项目根目录中的终端发出此命令:git submodule add https://github.com/davedelong/DDMathParser.git External/DDMathParser.这将为项目根目录创建一个名为External的新子目录,在External中将复制DDMathParser项目.
  2. 将DDMathParser目录添加到项目中.它将在<Your Root Project Dir>/External/DDMathParser/DDMathParser目录中找到.请务必选中"添加到目标"复选框,而不要选中"复制项目"复选框.
  3. 添加 #import "DDMathParser.h"到viewcontroller.

DDMathParser现在应该按预期工作.如果作者对代码进行了更新,您只需从终端发出以下命令即可从github获取最新更新:git submodule update.

注意:我从头开始创建一个新项目,按照这些步骤并包含您的NSLog()示例以确保没有任何问题.

  • 在构建设置中,将编译器更改为使用Apple LLVM 2.1而不是LLVM GCC 4.2.我不知道GCC为什么会遇到这个问题 - 但是如果可以的话,通常会使用Apple堆栈.更改为LLVM 2.1后,编译正常,您的"将编译"日志显示正确,以及我使用DDMathParser添加的测试日志. (2认同)