2013-09-24 16 views
3

不解析C++的lib功能我正在開發使用Eclipse的Mac原生應用程序,我不能得到的std :: string或std ::地圖來解決。蘋果在Eclipse中NDK

我已經不得不在路徑中添加一些include目錄來處理NDK沒有被設置的那麼好,目前我有

.../Development/android-ndk-r9/sources/cxx-stl/gnu-libstdc++/4.8/include 
.../Development/android-ndk-r9/platforms/android-18/arch-arm/usr/include 
.../vuforia-sdk-android-2-6-10/build/include 
.../android-ndk-r9/sources/cxx-stl/system/include 

設置爲C++符號路徑,而#include <string>似乎工作正常。但是,所有對std :: string的引用都沒有解析,並且Eclipse說

類型'std :: string'無法解析。

我知道這個代碼的構建,因爲我成功地將它構建在Windows PC上;這是一些描述的日食問題。我能做些什麼來使這些符號解決?

編輯1:我看了看裏面<string>,它似乎主要包含一堆其他包括,例如#include <bits/c++config.h>。所有這些似乎都可以解決,但我會看看我是否可以找到它們並確定std::string實際所在的位置。編輯2:我可以找到std::basic_string,但不std::string(還)。

編輯3:std::basic_string對我的源代碼來說也不是很明顯。

+0

我有同樣的問題,fwiw –

回答

1

林不知道這是否會成爲你的答案。我的經歷是不同的,我在Windows上,我只是試圖讓C(而不是C++)代碼工作。但遇到完全相同的問題。我的解決方案似乎也可以用於C++。據我所知,Mac上的Eclipse/ADT與Windows上的相同。所以這不應該成爲一個問題。誰知道,我可以說出我的一個 - 。

不過,我覺得這個問題就解決了二折。這是我如何解決它。我也跟着教程:http://mhandroid.wordpress.com/2011/01/23/using-eclipse-for-android-cc-development/

注意事項:

1)當在Eclipse/ADT爲Android開發。它總是假定你用Java編寫。你需要做的項目「混合的Java & C/C++」(不,我已經看到了它叫這個教程外,笑)

2)你ndk-build也許應該很好地工作在命令行(即使壽它可能無法在Eclipse中編譯)。

3)在教程中,似乎認識到C/C++的兩件事是「步驟5:轉換爲C/C++項目」,然後是步驟6-8(這看起來像是一大步) 。

4)在步驟7中,在 「建立命令」。您可能必須使用完整路徑(無空格)到ndk-build。 (* Windows用戶在這裏輸入「ndk-build.cmd」)

5)在步驟8中,還包括完整路徑..沒有空格。但是,這是您將爲「GNC C++」放置路徑的地方。 (這是我對你的解決方案的猜測)

6)如果一切都失敗......它應該在C中工作。完全按照第8步操作,只使用C語法。因爲在這篇較老的教程(http://mindtherobot.com/blog/452/android-beginners-ndk-setup-step-by-step/)的頂部,它講述了NDK是多麼有限。它說C++功能是有限的。否則,這第二個教程似乎大多已經過時。 Cygwin和命令行編譯不再需要,而且我的Eclipse安裝具有C/C++支持。但是,它的全部仍然可用/有效。

PT

(以及類似的說明,而對於那些尋求與NDK的幫助。另外,還要確保空間少完整路徑NDK文件夾進入在Eclipse中>窗口>首選項>安卓> NDK > NDK位置)