2

我正在尝试使用 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,

我无法弄清楚这个问题的原因。有人可以指出我正确的方向吗?

4

1 回答 1

1

根据您使用 GCC 的标签。Fiber 接口今年夏天才在 Clang 中实现,并在11 月合并到尚未发布的 GCC 7 中。因此,您似乎应该切换到 Clang 或等到 GCC 7 发布(或使用预发布版本)。

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

于 2017-01-30T19:23:27.157 回答