Eclipse中使用JNI編寫C程式碼時出現“Unresolved inclusion: ”的解決方案
阿新 • • 發佈:2019-02-20
1 致謝
感謝初道網友(估計是這個名字吧 不過也有可能是轉載的 我還是由衷地表達一下謝意)2 問題描述
今天在學習JNI程式設計時遇到一個問題 編寫C程式碼時 在標頭檔案引入的地方總會出現一個問題“Unresolved inclusion: <***.h>” 最常見的就是“Unresolved inclusion: <jni.h>” 基本上所有通用的標頭檔案都會出現這個錯誤 從而會導致後面的很多函式呼叫等等各種錯誤 其實歸根到底 就C語言基本的標頭檔案庫都沒有都正確的引入 所以我們需要進行一個引入的操作3 解決方案
以下是我的解決方案 其中參考了上文中的資料 我覺得這種方案還是比較好的 不過其實可以進行簡化 大家可以看看作為參考1 新增系統環境變數
2 新增Eclipse中C/C++環境變數
然後進入Eclipse中進行設定 點選 Windows→Preferences→C/C++→Build→Environmen 這時,如果之前已經在系統環境變數中添加了NDK的根目錄,那麼點右邊的Select即可從系統中選擇該變數,選中後點OK然後的效果如圖
之後列表中將出現匯入的環境變數 如圖
3 新增NDK的C語言通用庫
然後進入專案屬性設定,將對應的C語言通用庫新增進去:Project→Properties→C/C++ General→Paths and Symbols
然後在Include選項卡中 點選Add
之後就要填入對應的內容 首先點選“Variables...” 然後選擇“ANDROID_NDK_HOME” 然後OK
變成這樣
之後需要在後面新增由 Android SDK 對應C語言庫的路徑 Directory:${ANDROID_NDK_HOME}/platforms/android-SDK版本號/arch-arm/usr/include SDK版本號跟專案的目標SDK版本相對應 SDK版本可以檢視project.properties檔案的target引數值 project.properties檔案就在Android專案的目錄中(一般是最後一個檔案)
我的Directory的路徑是:${ANDROID_NDK_HOME}/platforms/android-19/arch-arm/usr/include 大家可以根據上面的內容自行查詢 填好後點擊OK
我記得Eclipse應該會提示你“rebuild”之類的 這個選擇同意 這樣Eclipse才會使用更改後的設定對你的專案重新進行建立 這樣才能解決開頭出現的問題