Компиляция с arm-fsl-linux-gnueabi-gcc: int64_t имеет длину 32 бита - PullRequest
1 голос
/ 25 октября 2019

Я кросс-компиляция для процессора imx28 с arm-fsl-linux-gnueabi:

[vladimir@vladimir src]$ arm-fsl-linux-gnueabi-g++ -v
Using built-in specs.
Target: arm-fsl-linux-gnueabi
Configured with: /work/arm-toolchains/tmp/src/gcc-4.4.4/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-fsl-linux-gnueabi --prefix=/work/arm_fsl_gcc_4.4.4_multilib --with-sysroot=/work/arm_fsl_gcc_4.4.4_multilib/arm-fsl-linux-gnueabi/multi-libs --enable-languages=c,c++ --with-pkgversion=4.4.4_09.06.2010 --enable-__cxa_atexit --disable-libmudflap --with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm' --with-gmp=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --with-mpfr=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --with-ppl=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --with-cloog=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --enable-threads=posix --enable-target-optspace --with-local-prefix=/work/arm_fsl_gcc_4.4.4_multilib/arm-fsl-linux-gnueabi/multi-libs --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long --enable-multilib --with-system-zlib --enable-lto
Thread model: posix
gcc version 4.4.4 (4.4.4_09.06.2010) 

Следующая строка кода:

info->mask = 0xffffffffffffffff;

выдает мне следующую ошибку:

warning: integer constant is too large for 'long' type

Я пробовал почти все, удостоверился, что int64_t определен для long long int, даже попытался определить его вручную, но это все равно выдает ошибку.

Я также пробовал другой -mcpuoptions.

Есть ли способ использовать int64_t на imx28, или я должен просто сдаться?

1 Ответ

2 голосов
/ 25 октября 2019

На основании вашего комментария.

Попробуйте 0xFFFFFFFFFFFFFFFFLL или -1

...