【问题标题】:Getting rid of wchar_t size linker warning摆脱 wchar_t 大小链接器警告
【发布时间】:2012-10-15 03:15:48
【问题描述】:

我使用-fshort-wchar 编译我的Android NDK 库。我知道 RTL 假定 4 字节 wchar_t,我知道我在做什么,库 works。但是,在每个构建链接器上,每个目标文件都会给我以下警告:

ld.exe:警告:MyFile.o 使用 2 字节 wchar_t 但输出是使用 4 字节 wchar_t;跨对象使用 wchar_t 值可能会失败

当我提供时

LOCAL_LDLIBS := --no-wchar-size-warning

这给了我一个“无法识别的选项”错误。

【问题讨论】:

    标签: android linker android-ndk wchar-t linker-warning


    【解决方案1】:

    添加APP_LDFLAGS += -Wl,--no-wchar-size-warning(到Application.mk)对我来说在 NDK 上至少早在 r7 就可以正常工作。

    我认为它的工作方式与以下内容相同:

    LOCAL_LDLIBS := -Wl,--no-wchar-size-warning
    

    【讨论】:

    • 由于某种原因,ARM 和 Intel 链接器支持该选项,但 MIPS 不支持该选项。但是,MIPS 链接器首先并没有考虑 wchar_t 的大小。一点 ifneq() 就可以解决问题...
    • 由于目标文件中的 ARM 特定标签而抱怨,我猜 MIPS 标准中缺少这样的功能。
    【解决方案2】:

    你见过this吗?该帖子解释说--no-wchar-size-warning 选项将使链接器将不匹配视为警告,而不是错误。与枚举的情况一样,作者还是选择显示消息。

    你看不到在你的项目中设置这个标志的效果,因为详细elsewhere,使用-fshort-wchar会自动添加-Wl,--no-wchar-size-warning

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      • 1970-01-01
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-16
      相关资源
      最近更新 更多