Removing the C nature:
The only way I could find to reliably removed the C nature from the project was by hand editing Eclipse's .project
file for the project.
-
Close the Eclipse project (e.g. by quitting Eclipse).
-
Open the
.project
file in a text or xml editor. There will be at least 2<buildCommand>
nodes that need to be removed. Remove the<buildCommand>
node with nameorg.eclipse.cdt.managedbuilder.core.genmakebuilder
and all its children, and the<buildCommand>
node with nameorg.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder
and its children. Finally, remove the lines:<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
-
Completely remove the
.cproject
file.
Adding back the Android Native nature
Reopen the project in Eclipse. Then right-click on the project in the Project Explorer, and from the "Android Tools" contextual menu, choose "Add Native Support...".
- Paths and Symbols中路徑不正確,考慮修改Android.MK檔案內容,比如增加空行等(注意Android.MK檔案中不需要有LOCAL_C_INCLUDES欄位 ,系統會根據LOCAL_SRC_FILES自動新增需要的標頭檔案,否則標頭檔案將出現二義性),重新編譯一次專案,Android.MK檔案中LOCAL_SRC_FILES所依賴的標頭檔案將會在Project Properties -> C/C++ General -> Paths and Symbols中被自動新增;
- string.h、jni.h等C標頭檔案“Unresolved inclusion”,考慮: NDK Project -> New -> Folder -> Advanced -> Link to alternate location(Linked Folder),新增:D:\ADT\android-ndk-r9d\platforms\android-18\arch-arm\usr\include;
- 考慮:properties--->C/C++ General,關閉Code Analysis功能,解決大部分錯誤;