Jor*_*ndo 9 android android-ndk
我正在尝试用android ndk-11构建一个库,我收到一个链接器错误:
arm-linux-androideabi/bin/ld: error: treating warnings as errors
如果我使用ndk-r10e,我不会收到此错误.
运行ndk-build,V = 1,我看到它-Wl,--fatal-warnings正被传递给链接器.我已经尝试添加LOCAL_LDFLAGS:=-Wl,--no-fatal-warnings到我的Android.mk文件,我可以在链接器输出中看到它实际上是传递给链接器,但它之前 被传递-Wl,--fatal-warnings,因此它被忽略.
警告来自第三方库,所以我不能只是重新编译它来修复警告(它们都是'重定位是指丢弃部分'警告).我一直看到这些警告,从来没有遇到任何问题.
有谁知道如何告诉ndk-11链接器不要将警告视为错误?
Jor*_*ndo 18
我在写这篇文章时想到了这一点,所以我想我会分享解决方案.
<NDK_ROOT>/build/core有一堆运行ndk-build时使用的.mk文件.在内部build-binary.mk,您可以定义一些新的(未记录的)检查变量.对于这个特定的,有以下块:
# We enable fatal linker warnings by default.
# If LOCAL_DISABLE_FATAL_LINKER_WARNINGS is true, we don't enable this check.
ifneq ($(LOCAL_DISABLE_FATAL_LINKER_WARNINGS),true)
LOCAL_LDFLAGS += -Wl,--fatal-warnings
endif
Run Code Online (Sandbox Code Playgroud)
添加LOCAL_DISABLE_FATAL_LINKER_WARNINGS=true到我的.mk文件后,错误消失了.
有很多在这些文件中定义其他的事情,所以如果你越来越怪异生成错误突然,走在那里看看,看看新的东西已启用.
| 归档时间: |
|
| 查看次数: |
4336 次 |
| 最近记录: |