2011-09-27 36 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