Al compilar TensorFlow Lite, solo necesitamos realizar una compilación cruzada de la biblioteca estática libflatbuffers. A. Las siguientes sugerencias pueden ignorarse y no afectarán la compilación de ARMNN
Generating samples/monster_generated.h
./flatc: 1: ./flatc: Syntax error: word unexpected (expecting ")")
make[2]: *** [samples/monster_generated.h] 错误 2
make[1]: *** [CMakeFiles/flatsamplebinary.dir/all] 错误 2
Descarga TensorFlow Lite
git clone https://github.com/google/flatbuffers.git
cd flatbuffers
Configure CMAKE según su propia situación al compilar TensorFlow Lite
CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
O escribe la ruta completa de la compilación
CC=/home/tronlong/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc CXX=/home/tronlong/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
En este momento, si lo hace directamente, aparecerá el error de recompilar con -fPIC al compilar armnn
[ 67%] Linking CXX shared library ../../libarmnnTfLiteParser.so
/home/tronlong/gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/5.3.1/../../../../arm-linux-gnueabihf/bin/ld: /home/armnn/flatbuffers/libflatbuffers.a(util.cpp.o): relocation R_ARM_THM_MOVW_ABS_NC against `_ZTTSt14basic_ifstreamIcSt11char_traitsIcEE' can not be used when making a shared object; recompile with -fPIC
/home/armnn/flatbuffers/libflatbuffers.a: error adding symbols: 错误的值
collect2: error: ld returned 1 exit status
make[2]: *** [libarmnnTfLiteParser.so] 错误 1
make[1]: *** [src/armnnTfLiteParser/CMakeFiles/armnnTfLiteParser.dir/all] 错误 2
make: *** [all] 错误 2
Necesita agregar una oración a CMakeLists.txt en el directorio flatbuffers, para que no necesite especificar una ruta específica cuando use la biblioteca libflatbuffers.a
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC ")
O agregue las siguientes opciones
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fPIC -Wall -Wno-unused-variable -Wold-style-cast -Wno-missing-braces -pthread")
Después de eso, puede compilar libflatbuffers.a
y compilar armnn de nuevo, y pasará sin problemas. Para todo el entorno, consulte el tutorial del sitio web oficial
o mi tutorial
. Por favor, corríjame si hay errores. Bienvenidos a todos