E:\Android\Android-ndk-r8b\ndk build Gdbserver:[arm-linux-androideabi-4.6]libs/armeabi/Gdbserver gdb设置:libs/armeabi/gdb.setup “编译thumb:png,android-ndk,Android Ndk" /> E:\Android\Android-ndk-r8b\ndk build Gdbserver:[arm-linux-androideabi-4.6]libs/armeabi/Gdbserver gdb设置:libs/armeabi/gdb.setup “编译thumb:png,android-ndk,Android Ndk" />

构建android ndk资产时出错 < >我想从C++代码中加载资源。试着重复。但当我尝试构建它时,我得到: E:\Android\Samples\android-ndk-assets\project>e:\Android\android-ndk-r8b\ndk-build Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup "Compile thumb : png <= pngrtran.c jni/libpng/pngrtran.c: In function 'png_do_expand': jni/libpng/pngrtran.c:3790:1: internal compiler error: in reload, at reload1.c:1061 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make: *** [obj/local/armeabi/objs-debug/png/pngrtran.o] Error 1 E:\Android\Samples\Android ndk assets\project>E:\Android\Android-ndk-r8b\ndk build Gdbserver:[arm-linux-androideabi-4.6]libs/armeabi/Gdbserver gdb设置:libs/armeabi/gdb.setup “编译thumb:png

构建android ndk资产时出错 < >我想从C++代码中加载资源。试着重复。但当我尝试构建它时,我得到: E:\Android\Samples\android-ndk-assets\project>e:\Android\android-ndk-r8b\ndk-build Gdbserver : [arm-linux-androideabi-4.6] libs/armeabi/gdbserver Gdbsetup : libs/armeabi/gdb.setup "Compile thumb : png <= pngrtran.c jni/libpng/pngrtran.c: In function 'png_do_expand': jni/libpng/pngrtran.c:3790:1: internal compiler error: in reload, at reload1.c:1061 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make: *** [obj/local/armeabi/objs-debug/png/pngrtran.o] Error 1 E:\Android\Samples\Android ndk assets\project>E:\Android\Android-ndk-r8b\ndk build Gdbserver:[arm-linux-androideabi-4.6]libs/armeabi/Gdbserver gdb设置:libs/armeabi/gdb.setup “编译thumb:png,android-ndk,Android Ndk,我在android-ndk-r8b中也有同样的错误。 看起来像是GCC中的错误。你已经提交错误报告了吗 我找到了出错的代码: if (*(sp - 5) == red_high && *(sp - 4) == red_low && *(sp - 3) == green_high && //this line make error *(sp - 2) == green_low && //th

我在android-ndk-r8b中也有同样的错误。 看起来像是GCC中的错误。你已经提交错误报告了吗

我找到了出错的代码:

 if (*(sp - 5) == red_high &&
      *(sp - 4) == red_low &&
      *(sp - 3) == green_high &&  //this line make error
      *(sp - 2) == green_low &&   //this line make error
      *(sp - 1) == blue_high &&
      *(sp    ) == blue_low)
   {
      *dp-- = 0;
      *dp-- = 0;
   }

我在android-ndk-r8b中也有同样的错误。 看起来像是GCC中的错误。你已经提交错误报告了吗

我找到了出错的代码:

 if (*(sp - 5) == red_high &&
      *(sp - 4) == red_low &&
      *(sp - 3) == green_high &&  //this line make error
      *(sp - 2) == green_low &&   //this line make error
      *(sp - 1) == blue_high &&
      *(sp    ) == blue_low)
   {
      *dp-- = 0;
      *dp-- = 0;
   }

我在android-ndk-r8b中也有类似的错误。在使用ndk_调试标志集调用ndk build时会发生此错误:


ndk build ndk_DEBUG=1
我在android-ndk-r8b中也有类似的错误。在设置了ndk_DEBUG标志的情况下调用ndk build时发生此错误:


ndk build ndk_DEBUG=1
我也遇到了这个问题。另一个解决方法是将以下行添加到makefile中,以ARM代码而不是Thumb代码的形式构建库:

LOCAL_ARM_MODE := arm

使用ARM模式应该没有问题…ARM指令需要两倍于Thumb指令的空间,但也更加复杂,能够在一条指令中完成更多的任务,因此根据编译器的聪明程度,生成的代码可能更大或更小,也可能更高效或效率更低,但是应该以相同的结果执行。

我也遇到了这个问题。另一个解决方法是通过在makefile中添加以下行将库构建为ARM代码,而不是Thumb代码:

LOCAL_ARM_MODE := arm

使用ARM模式应该没有问题…ARM指令需要两倍于Thumb指令的空间,但也更加复杂,能够在一条指令中完成更多的任务,因此根据编译器的聪明程度,生成的代码可能更大或更小,也可能更高效或效率更低,但是应该以相同的结果执行。

不,我不提交错误报告。不,我不提交错误报告。您可以通过引用或推测
NDK\U DEBUG
标志影响此编译错误的原因来极大地改进您的答案。您可以通过引用或推测
NDK\U DEBUG
标志影响此编译错误的原因来极大地改进您的答案他的汇编错误。