1. 程式人生 > >XCode裡遇到 #include file not found的解決方案

XCode裡遇到 #include file not found的解決方案

轉自:http://blog.csdn.net/dongccc/article/details/41348157

最近在學習如何在C++裡呼叫Java方法,遇到提示 #include <XXX.h> file  not  found 的問題。也google了好久都沒有找到合適的解決方案。

認真的研究了下xcode匯入h標頭檔案的的工作機制,發現xcode裡有個設定是配置查詢標頭檔案位置的地方。特地總結了下這次的教訓。搞了我兩天 -_-||

我這裡做的動作是Cocos2dx的C++呼叫Android裡的Java方法,上程式碼:

1.首先要保證,cpp呼叫檔案的頭一定要引入你的JniHelper.h的正確路徑。我這裡是

  1. #include <platform/android/jni/JniHelper.h>
2.當代碼裡呼叫如下程式碼的時候,不會正常呼叫API:
  1. JniHelper::getEnv()  
如果不配置xcode自動搜尋標頭檔案的配置,這裡返回的應該是個int*型別的引數。肯定是不對的。應該是返回JNIEnv*型別的才對!

3.進入到上面的JniHelper.h標頭檔案內,會發現#include <jni.h> file not found的錯誤。

下面是解決方案:

1.xcode裡點選你專案本身,然後在右側找到project,然後Build Settings,在下面搜尋欄裡搜尋“search”,找到下面Header Search Paths,雙擊編輯內容

2.在彈出框內的下方,有個“+”符號,新增條目,輸入的內容為你android的NDK的路徑。我這裡本機存放的路徑是:/opt/android-ndk-r9d/platforms/android-9/arch-arm/usr/include。

3.這回再回到JniHelper.h標頭檔案,你就會發現錯誤提示沒了,而且在cpp檔案裡,呼叫JniHelper::getEnv方法就可以正常使用了。