【问题标题】:Error compiling program with Address Sanitizer使用 Address Sanitizer 编译程序时出错
【发布时间】:2017-01-30 18:30:36
【问题描述】:

我正在尝试使用 Address Sanitizer (ASan) 编译程序 (tarantool),但遇到以下错误:

/home/tarantool/src/fiber.c:123:2: error: implicit declaration of function '__sanitizer_start_switch_fiber' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
        ASAN_START_SWITCH_FIBER(asan_state, 1,

我无法找出此问题的原因。有人能指出我正确的方向吗?

【问题讨论】:

    标签: gcc address-sanitizer


    【解决方案1】:

    根据您使用 GCC 的标签。 Fiber 接口仅在 Clang this summer 中实现,并在 November 中合并到尚未发布的 GCC 7。因此,您似乎应该切换到 Clang 或等到 GCC 7 发布(或使用预发布版本)。

    作为旁注,您可以将此问题报告给 tarantool 开发人员,以便他们检查编译器版本并以更友好的方式报告错误。

    【讨论】:

      猜你喜欢
      • 2019-09-09
      • 2014-01-28
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2017-10-09
      • 2022-01-23
      • 2021-12-02
      • 2020-07-01
      相关资源
      最近更新 更多