Не удалось выполнить команду сборки в телеграмме

Получил эту ошибку на последней версии телеграммы.

версия исходного кода телеграммы: 4.9.0

envirement: убунту 17.10.0

Студия Android: 3.2 канарейка 9

ndk версия: 14.1.3816874

[armeabi-v7a] Compile++ arm  : tmessages.28 <= TgNetWrapper.cpp
/home/joker/telegram490/TMessagesProj/jni/./jni.c: In function 
'listdir':
/home/joker/telegram490/TMessagesProj/jni/./jni.c:193:31: error: 
'struct stat' has no member named 'st_atim'
                 if (attrib.st_atim.tv_sec != 0) {
                           ^
/home/joker/telegram490/TMessagesProj/jni/./jni.c:194:35: error: 
'struct stat' has no member named 'st_atim'
                     if (attrib.st_atim.tv_sec < time) {
                               ^
/home/joker/telegram490/TMessagesProj/jni/./jni.c:198:35: error: 
'struct stat' has no member named 'st_mtim'
                     if (attrib.st_mtim.tv_sec < time) {
                            ^make: *** 
[/home/joker/telegram490/TMessagesProj/build/intermediates
/ndkBuild/afat/ 
debug/obj/local/armeabi-v7a/objs-debug/tmessages.28/./jni.o] Error 1
make: *** Waiting for unfinished jobs....
In file included from 
/home/joker/telegram490/TMessagesProj/jni/./tgnet/TLObject.h:13:0,
             from 
/home/joker/telegram490/TMessagesProj/jni/./tgnet/ApiScheme.h:15,
             from 
 /home/joker/telegram490/TMessagesProj/jni/./TgNetWrapper.cpp:2:
/home/joker/telegram490/TMessagesProj/jni/./tgnet/Defines.h: In 
function 'std::string to_string_uint64(uint64_t)':
/home/joker/telegram490/TMessagesProj/jni/./tgnet/Defines.h:184:32: 
error: expected ')' before 'PRIu64'
 int len = sprintf(buf, "%" PRIu64, value);

Редактировать:

спасибо @ anubhav-gupta, через SDK Manager я могу обновиться только до версии r18-beta1.

после обновления я сталкиваюсь с этой ошибкой:

Android NDK: APP_STL gnustl_static is no longer supported. Please switch to either c++_static or c++_shared

Редактировать: обновите NDK до r15 и проблема была решена.

1
0
922
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Основная проблема в этой строчке 'struct stat' has no member named 'st_atim' Если вы используете современную версию NDK, у вас будет современная структура struct stat: https://android.googlesource.com/platform/bionic/+/master/libc/include/sys/stat.h

Обратите внимание, что вам необходимо использовать унифицированные заголовки NDK, чтобы получать заголовки в актуальном состоянии. Это значение по умолчанию в r15, но есть вариант для r14.

спасибо, Через SDK Manager я могу обновиться только до версии r18-beta1. после обновления я сталкиваюсь с этой ошибкой: Android NDK: APP_STL gnustl_static is no longer supported. Please switch to either c++_static or c++_shared

Hassan Yousefzadeh 15.08.2018 07:28

Другие вопросы по теме