c++ - vfp - sintaxis browse visual foxpro
libOpenCL.so usa argumentos de registro VFP, la salida no (2)
Actualmente estoy tratando de construir Buddhabrot para la arquitectura ARM, pero estoy atascado en un punto cuando recibo el siguiente error. Espero que alguien pueda ayudar.
libOpenCL.so uses VFP register arguments, output does not
libGAL.so uses VFP register arguments, output does not
aquí está mi archivo MAKE
LIBS = -lm -lOpenCL -lGAL -lGL -lGLEW -lglut -lpthread
CFLAGS = -Wall -g
OBJECTS = main.o environment.o input.o animate.o buddhabrot.o buddhacl.o cmodules/timer.o
all: prog
prog: $(OBJECTS)
c++ $(CFLAGS) -o prog $(OBJECTS) $(LIBS)
%.o: %.cpp $(LIBS)
clean:
rm -f *.o prog cmodules/*.o
salida c ++ -v
Using built-in specs.
COLLECT_GCC=c++
COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabi/4.6.1/lto-wrapper
Target: arm-linux-gnueabi
Configured with: ../src/configure -v --with-pkgversion=''Ubuntu/Linaro 4.6.1-9ubuntu3'' --with- bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ -- prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-plugin --enable-objc-gc --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-float=softfp --with-fpu=vfpv3-d16 --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabi --host=arm- linux-gnueabi --target=arm-linux-gnueabi
Thread model: posix
gcc version 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)
Esto le indica que libOpenCL.so y libGAL.so están utilizando puntos flotantes duros y la unidad VFP , pero su programa está compilado en un programa que usa puntos flotantes suaves.
Use el -mfloat-abi=hard
, y posiblemente el -mfpu=vfp
(consulte la página man de gcc para conocer otras variantes de vfp que podrían ser adecuadas).
Si su plataforma no admite un ABI de flotación dura, o su procesador no tiene una unidad de coma flotante, no puede usar estas dos bibliotecas.
su compilador cruzado no admite hard float, pruebe arm-linux-gnueabihf en su lugar, funciona para mí.