2011-09-27 43 views
2

我正在开发一个非常基本的ios应用程序,几乎所有的时间都使用客观的程序。然而,我的应用程序需要处理大整数(例如:2^200)并将它们相加和相乘。为了实现这一点,我需要包含一个称为bigint的C++库,它允许这些操作在巨大的整数上进行。我遇到的问题是,当我包含bigint项目时,我收到很多错误,我认为这可能是因为它是C++,不能与目标c混合使用。我是新来的这个想法,并想知道是否有任何步骤,我需要采取正确添加一个C++库到一个客观的C项目。顺便说一句,我不使用opengl或任何复杂的简单用户界面和一些石英的东西。包括ios编程中的C++库

更新: 我做了你们所说的一切,我将所有的扩展名改为.mm并添加了bigint库。在做这些事情之前,我的项目完美无误地运行。当我这样做时,出现错误,即使我没有添加库,也会出现错误。只是将文件扩展名更改为.mm会给我以下错误。 enter image description here

这只是没有意义,因为一切运行良好,我没有在我的程序中有任何重复。我不知道为什么只是将扩展名更改为.mm可能会导致此错误。任何想法家伙?

+1

你必须包含更多的信息,而不仅仅是'我得到很多错误',因为很难预测你的程序中可能出错的部分。但作为参考,我可以通过将其文件夹拖放到项目中作为参考,将bigint库包含在Xcode项目中。在将所有实现和头文件重命名为他的答案中描述的brainjam之后。 – Perception

回答

3

您可以混合使用C++文件,但为它们使用.cpp后缀(和.hpp作为其相应的头文件)。如果你想在同一个文件中混合使用C++和Obj-C,你可以这样做,但给它一个.mm后缀。

+0

我已经做了这些事情,但我仍然得到错误,我认为我需要做一些比这更复杂的事情,可能与项目或目标设置有关。 – Milad

+0

@Milad。在Obj-C中使用C++是很常见的,这里有很多关于这个主题的更详细的问题/答案 - 例如http://stackoverflow.com/questions/525609/use-c-with-cocoa-instead-of-objective-c。您应该更具体地了解您收到的错误消息以及您所做的事情(通过编辑原始问题来提供详细信息,而不是将它们填充到注释中。) – brainjam