2015-05-16 34 views
1

我承認,我的設置有點粗略。這與Eclipse Indigo正常工作,但Luna不斷重建我的C++ Android項目。Eclipse中的無限重建循環CDT

這種情況發生在我選擇「Build on resource save(自動構建)」時非常方便。檢查這個選項讓我進入一個無限的重建循環。

我正在構建一個沒有任何java層的Android C++可執行文件。我在Tool Chain Editor中選擇了Cross GCC,除了Cross G ++之外,我刪除了所有的工具。這一步使包含路徑選項卡顯示在C/C++常規配置中。

我將c:\android\android-ndk-windows\ndk-build.cmd作爲構建命令。 我檢查生成(增量生成)與參數NDK_DEBUG=1 V=1

像這樣:

enter image description here

我從刷新策略去除一切,我懷疑NDK建造修改項目文件,這是挑選由建造者作爲一個改變,這造成了有問題的循環。

我還增加了對android ndk的支持,它有它自己的Android.mk。我自己的Android.mk看起來像這樣:

LOCAL_PATH := $(call my-dir) 

include $(call all-subdir-makefiles) 

include $(CLEAR_VARS) 



LOCAL_CC = C:\android\android-ndk-windows\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\arm-linux-androideabi-gcc.exe 
LOCAL_CXX = C:\android\android-ndk-windows\toolchains\arm-linux-androideabi-4.8\prebuilt\windows-x86_64\bin\arm-linux-androideabi-g++.exe 

LOCAL_MODULE := EventInjectorNative 
LOCAL_SRC_FILES := ~SRC_LIST~ 

LOCAL_CPP_EXTENSION := .cpp 

LOCAL_CPPFLAGS := -g -std=c++11 
LOCAL_CFLAGS := -g 

LOCAL_STATIC_LIBRARIES := boost_filesystem boost_system 

#LOCAL_C_INCLUDES := C:\android\android-ndk-windows\sources\cxx-stl\gnu-libstdc++\4.8\include 
#LOCAL_C_INCLUDES += /cygdrive/c/android/android-ndk-windows/sources/cxx-stl/gnu-libstdc++/4.8/libs/x86_64/include 
#LOCAL_C_INCLUDES += C:\android\android-ndk-windows\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a\include 
#LOCAL_C_INCLUDES += C:\android\android-ndk-windows\platforms\android-19\arch-arm\usr\include 


LOCAL_C_INCLUDES := C:\\android\\android-ndk-windows\\sources\\cxx-stl\\gnu-libstdc++\\4.8\\include 
LOCAL_C_INCLUDES += C:\\android\\android-ndk-windows\\sources\\cxx-stl\\gnu-libstdc++\\4.8\\libs\\armeabi-v7a\\include 
LOCAL_C_INCLUDES += C:\\android\\android-ndk-windows\\platforms\\android-19\\arch-arm\\usr\\include 
LOCAL_C_INCLUDES += C:\\android\\android-ndk-windows\\sources\\boost 





include $(BUILD_EXECUTABLE) 
$(call import-module, boost) 

有沒有什麼辦法可以告訴究竟是什麼觸發了自動構建? Eclipse構建控制檯僅顯示自動構建是通過顯示沒有原因或解釋觸發的。

沒有這個,項目建立並運行良好。 CDT能夠通過tcp和所有的gdb進行調試。

回答

3

看起來這是由屬性中的「CDT GCC Build Output Parser」和「Binary Debug Data Entries」引起的 - > C/C++ General - > Preprocessor Include Paths,Macros等等。 ...)

不知道這是關於什麼,但取消選中它停止了無限循環