Неопределенная ссылка на `_sbrk'при создании приложения Pebble watchapp
Иногда мой Peappble Watchapp отказывается строить, выдавая недружелюбное сообщение об ошибке:
$ pebble build
[...]
[ 9/13] cprogram: build/src/project_lift.c.7.o build/appinfo.auto.c.7.o -> build/pebble-app.elf
/Users/Pavlo/pebble-dev/PebbleSDK-2.0.1/arm-cs-tools/bin/../lib/gcc/arm-none-eabi/4.7.2/../../../../arm-none-eabi/lib/thumb2/libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
/Users/thomas/work/arm-eabi-toolchain/build/newlib/arm-none-eabi/thumb2/newlib/libc/reent/../../../../../../../newlib-2012.09/newlib/libc/reent/sbrkr.c:60: undefined reference to `_sbrk'
collect2: error: ld returned 1 exit status
Я не имею ничего общего с sbrkr.c
непосредственно. Я понял, что это вызвано определенной строкой кода в моем приложении. Могу ли я получить более краткое сообщение об ошибке (например, callstack)?
1 ответ
Решение
Вы пытаетесь связать с функцией, которая не поддерживается галькой как printf
, sprintf
, fopen
и т. д. Убедитесь, что вызываемая вами функция указана в Pebble api docs.