我使用 ndk-build 在调试模式下编译 libpng 源代码,然后它在 pngrtran.c 中显示“内部编译器错误”。但是当我在发布模式下编译时,它可以成功。这是libpng中的错误吗?我该如何解决这个问题?
问问题
391 次
2 回答
1
这不是 libpng 中的错误;程序描述为“内部错误”的任何内容都是程序中的错误(libpng 会这样做,但随后会显示“libpng:内部错误”!)所以这是编译器中的错误。
你应该把它报告给 ndk 的人,或者你可以直接去找编译器供应商(可能是 GNU),因为他们可能会更敏感。
你无法解决这个问题——它需要一个编译器修复(也许只是为了输出一条不声称它是内部错误的消息,但至少是这样。)你可以通过简单地不在调试模式下编译 libpng 来避免这个问题。因为我认为这是针对 Android 的,所以你可以(我相信)混合和匹配调试,现在调试代码(这在至少有一个编译器的 Windows 上不起作用!)
您还可以尝试找出哪个编译器选项揭示了问题;比较在发布和调试中传递给编译器的选项,然后将差异一分为二,看看是否可以将问题缩小到一个设置。
约翰·鲍勒 jbowler 2 acm.org
于 2012-10-25T02:13:27.790 回答
0
android 团队应该知道这个错误。作为旧版本的重新出现: http ://code.google.com/p/android/issues/detail?id=20862
于 2012-10-26T09:20:12.937 回答