[英]Compiling with arm-fsl-linux-gnueabi-gcc: int64_t is 32 bit long
I'm cross compiling for imx28 cpu with arm-fsl-linux-gnueabi:我正在使用 arm-fsl-linux-gnueabi 交叉编译 imx28 cpu:
[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)
The following code line:以下代码行:
info->mask = 0xffffffffffffffff;
gives me following error:给我以下错误:
warning: integer constant is too large for 'long' type
I tried close to everything, made sure int64_t is defined to long long int, even tried to typedef it manually, still, it gives me the error.我尝试了一切,确保将 int64_t 定义为 long long int,甚至尝试手动对其进行 typedef,但它仍然给了我错误。
I also tried different -mcpu options.我还尝试了不同的 -mcpu 选项。
Is there even a way to use int64_t on imx28, or should I just give up?有没有办法在 imx28 上使用 int64_t,还是我应该放弃?
Based on your comment.根据您的评论。
Try 0xFFFFFFFFFFFFFFFFLL or -1尝试 0xFFFFFFFFFFFFFFFFLL 或 -1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.