Eclipse 中的无限重建循环 CDT
Infinite rebuild loop in Eclipse CDT
我承认我的设置有点粗略。这与 Eclipse Indigo 一起工作正常,但 Luna 不断地重建我的 C++ Android 项目。
当我 select "Build on resource save (Auto build)" 时会发生这种情况,这非常方便。选中此选项会让我进入无限重建循环。
我正在构建一个没有任何 java 层的 Android C++ 可执行文件。我 select 在工具链编辑器中编辑了 Cross GCC,我删除了除 Cross G++ 之外的所有工具。此步骤使包含路径选项卡出现在 C/C++ 常规配置中。
我调用 c:\android\android-ndk-windows\ndk-build.cmd
作为构建命令。
我用参数 NDK_DEBUG=1 V=1
检查了构建(增量构建)
像这样:
我从刷新策略中删除了所有内容,因为我怀疑 ndk-build 修改了项目文件,构建器将其作为更改拾取,这会产生有问题的循环。
我还为 android ndk 添加了 boost,它有自己的 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++.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++.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 进行调试。
这似乎是由 "CDT GCC Build Output Parser" 和 "Binary Debug Data Entries" 在 Properties -> C/C++ General -> Preprocessor Include Paths, Macros etc. (Gotta love the etc in名字...)
不知道这是怎么回事,但取消选中它会停止无限循环
我承认我的设置有点粗略。这与 Eclipse Indigo 一起工作正常,但 Luna 不断地重建我的 C++ Android 项目。
当我 select "Build on resource save (Auto build)" 时会发生这种情况,这非常方便。选中此选项会让我进入无限重建循环。
我正在构建一个没有任何 java 层的 Android C++ 可执行文件。我 select 在工具链编辑器中编辑了 Cross GCC,我删除了除 Cross G++ 之外的所有工具。此步骤使包含路径选项卡出现在 C/C++ 常规配置中。
我调用 c:\android\android-ndk-windows\ndk-build.cmd
作为构建命令。
我用参数 NDK_DEBUG=1 V=1
像这样:
我从刷新策略中删除了所有内容,因为我怀疑 ndk-build 修改了项目文件,构建器将其作为更改拾取,这会产生有问题的循环。
我还为 android ndk 添加了 boost,它有自己的 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++.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++.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 进行调试。
这似乎是由 "CDT GCC Build Output Parser" 和 "Binary Debug Data Entries" 在 Properties -> C/C++ General -> Preprocessor Include Paths, Macros etc. (Gotta love the etc in名字...)
不知道这是怎么回事,但取消选中它会停止无限循环