Почему этот макрос переопределяется только при кросс-компиляции, да еще и при наличии #ifndef?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Почему этот макрос переопределяется только при кросс-компиляции, да еще и при наличии #ifndef?

Сообщение Anonymous »

Я пытаюсь выполнить кросс-компиляцию пакета SDK Azure IoT C. Компиляция проходит нормально для нативных сборок, но при кросс-компиляции я получаю

Код: Выделить всё

[ 33%] Building C object out/uamqp/CMakeFiles/uamqp.dir/src/header_detect_io.c.o
In file included from /home/abertulli/two_lidars/azure-iot-sdk-c/uamqp/inc/azure_uamqp_c/server_protocol_io.h:11:0,
from /home/abertulli/two_lidars/azure-iot-sdk-c/uamqp/src/header_detect_io.c:13:
/opt/box-root-fs/usr/include/stdint.h:266:0: error: "SIZE_MAX" redefined [-Werror]
#   define SIZE_MAX  (4294967295U)

In file included from /home/abertulli/two_lidars/azure-iot-sdk-c/uamqp/src/header_detect_io.c:11:0:
/home/abertulli/two_lidars/azure-iot-sdk-c/c-utility/inc/azure_c_shared_utility/safe_math.h:8:0: note: this is the location of the previous definition
#define SIZE_MAX ((size_t)((size_t)~(size_t)0))

cc1: all warnings being treated as errors
make[2]: *** [out/uamqp/CMakeFiles/uamqp.dir/build.make:202: out/uamqp/CMakeFiles/uamqp.dir/src/header_detect_io.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:594: out/uamqp/CMakeFiles/uamqp.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
Но я вижу в /opt/box-root-fs/usr/include/stdint.h (в системном корне компилятора)

Код: Выделить всё

/* Limit of `size_t' type.  */
# if __WORDSIZE == 64
#  define SIZE_MAX      (18446744073709551615UL)
# else
#  ifdef __WORDSIZE32_SIZE_ULONG
#   define SIZE_MAX     (4294967295UL)
#  else
#   define SIZE_MAX     (4294967295U)      // 

Подробнее здесь: [url]https://stackoverflow.com/questions/78677987/why-is-this-macro-redefined-only-if-cross-compiling-and-even-if-there-is-ifnd[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»