«ОШИБКА: НЕИЗВЕСТНАЯ ПЕРЕМЕННАЯ INT64_T_TYPEDEF» СОЗДАНИЕ МЕЗОНА:GTK+3, GTK+4.4.0, СБОЙ СБОРА СБОРКИ GOOBJECT INTROSPECTION

Я пытаюсь построить GTK 4.4 и GOObject Introspection с помощью системы сборки мезонов. Каждая попытка сборки мезона вызывает одну и ту же ошибку ... ОШИБКА: Неизвестная переменная "int64_t_typedef". Я пробовал использовать следующие программы: GTK 4.4, GOObject Introspection 1.68.0, GLIB 2.68.3, Pango 1.48.8. каждый дает указанную выше ошибку. Я добавил stdint.h, inttypes.h, check.h, но безрезультатно. Как я могу очистить эту ошибку, даже uint_typedef дает ту же ошибку. Также во время компиляции я вижу, что "uintmax_t in stdint.h" компилируется: НЕТ "uintmax_t in inttypes.h" компилируется: НЕТ. Я знаю, что это тоже нехорошо. Есть идеи, как я могу очистить эти ошибки? Единственное, что построит мезон, - это «Hello World», и все! Ничто из GTK 3 или 4 не будет построено без указанных выше ошибок. Любые предложения будут ценны.

FWIW: все поиски в Google, форумах и т. Д. Производят только одно обращение, и следование его предложениям не приводит ни к чему, кроме тех же ошибок.

1 ответ

Ошибка возникает, по-видимому, из-за неудачной компиляции тестовых программ для int64_t, поэтому мы видим в журнале раньше:

      Checking if "int64_t is long" compiles: NO
Checking if "int64_t is long long" compiles: NO

Ваш следующий шаг - выяснить, почему эти небольшие программы не удалось скомпилировать, т.е. скопировать в test.c как есть и попытаться скомпилировать:

      #if defined(_AIX) && !defined(__GNUC__)
#pragma options langlvl=stdc99
#endif
#pragma GCC diagnostic error "-Wincompatible-pointer-types"
#include <stdint.h>
#include <stdio.h>
int main () {
   int64_t i1 = 1;
   long *i2 = &i1;
   return 1;
}

один раз с длинным и один раз с длинным длинным -> проверьте результат.

Кстати, проверьте также, не испортили ли вы среду компиляции, например, установив некоторые флаги в CFLAGS:

      $ echo $CFLAGS
Другие вопросы по тегам