syyxsxx пре 4 година
родитељ
комит
faf2e5ebd6
3 измењених фајлова са 16 додато и 35 уклоњено
  1. 11 31
      deploy/raspberry/CMakeLists.txt
  2. 3 2
      deploy/raspberry/scripts/build.sh
  3. 2 2
      docs/deploy/raspberry/Raspberry.md

+ 11 - 31
deploy/raspberry/CMakeLists.txt

@@ -17,16 +17,6 @@ link_directories("${CMAKE_CURRENT_BINARY_DIR}")
 include_directories("${CMAKE_CURRENT_BINARY_DIR}/ext/yaml-cpp/src/ext-yaml-cpp/include")
 link_directories("${CMAKE_CURRENT_BINARY_DIR}/ext/yaml-cpp/lib")
 
-macro(safe_set_static_flag)
-    foreach(flag_var
-        CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_DEBUG CMAKE_CXX_FLAGS_RELEASE
-        CMAKE_CXX_FLAGS_MINSIZEREL CMAKE_CXX_FLAGS_RELWITHDEBINFO)
-      if(${flag_var} MATCHES "/MD")
-        string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
-      endif(${flag_var} MATCHES "/MD")
-    endforeach(flag_var)
-endmacro()
-
 if (NOT DEFINED LITE_DIR OR ${LITE_DIR} STREQUAL "")
 	message(FATAL_ERROR "please set LITE_DIR with -LITE_DIR=/path/influence_engine")
 endif()
@@ -40,7 +30,7 @@ if (NOT DEFINED GFLAGS_DIR OR ${GFLAGS_DIR} STREQUAL "")
 endif()
 
 if (NOT DEFINED ARCH OR ${ARCH} STREQUAL "")
-    message(FATAL_ERROR "please set ARCH with ARCH=armv7 or ARCH=armv8")
+    message(FATAL_ERROR "please set ARCH with ARCH=armv7-a or ARCH=armv8-a")
 endif()
 
 if (NOT DEFINED LITE OR ${LITE} STREQUAL "")
@@ -60,40 +50,30 @@ include_directories("${GFLAGS_DIR}/include")
 find_package(OpenCV REQUIRED PATHS ${OPENCV_DIR}/share/OpenCV NO_DEFAULT_PATH)
 include_directories(${OpenCV_INCLUDE_DIRS})
 
-if (${ARCH} STREQUAL "armv7")
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=armv7-a -mfloat-abi=hard -mfpu=neon-vfpv4 -g -o2 -fopenmp -std=c++11")
+if (${ARCH} STREQUAL "armv7-a")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -mfloat-abi=hard -mfpu=neon-vfpv4 -g -o2 -fopenmp -std=c++11")
     set(CMAKE_STATIC_LIBRARY_PREFIX "")
-elseif(${ARC}H STREQUAL "armv8")
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -march=armb8-a -g -o2 -fopenmp -std=c++11")
+elseif(${ARC}H STREQUAL "armv8-a")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}  -g -o2 -fopenmp -std=c++11")
     set(CMAKE_STATIC_LIBRARY_PREFIX "")
 else()
     message(FATAL_ERROR "Unknown arch abi ${ARCH}, only support armv8 and armv7")
 endif()
 
 
-if(WITH_STATIC_LIB)
-    if(${LITE} STREQUAL "full")
-	set(DEPS ${LITE_DIR}/lib/libpaddle_full_api_shared${CMAKE_STATIC_LIBRARY_SUFFIX})
-    elseif(${LITE} STREQUAL "light")
-	set(DEPS ${LITE_DIR}/lib/libpaddle_light_api_shared${CMAKE_STATIC_LIBRARY_SUFFIX})
-    else()
-	message(FATAL_ERROR "Unkown LITE release ${LITE}, only support light and full")
-    endif()
+if(${LITE} STREQUAL "full")
+    set(DEPS ${LITE_DIR}/lib/libpaddle_full_api_shared${CMAKE_SHARED_LIBRARY_SUFFIX})
+elseif(${LITE} STREQUAL "light")
+    set(DEPS ${LITE_DIR}/lib/libpaddle_light_api_shared${CMAKE_SHARED_LIBRARY_SUFFIX})
 else()
-    if(${LITE} STREQUAL "full")
-	set(DEPS ${LITE_DIR}/lib/libpaddle_full_api_shared${CMAKE_SHARED_LIBRARY_SUFFIX})
-    elseif(${LITE} STREQUAL "light")
-        set(DEPS ${LITE_DIR}/lib/libpaddle_light_api_shared${CMAKE_SHARED_LIBRARY_SUFFIX})
-    else()
-	message(FATAL_ERROR "Unkown LITE release ${LITE}, only support light and full")
-    endif()
+    message(FATAL_ERROR "Unkown LITE release ${LITE}, only support light and full")
 endif()
 
 set(DEPS ${DEPS} gflags yaml-cpp)
 set(EXTERNAL_LIB "-ldl -lrt -lgomp -lz -lm -lpthread")
 set(DEPS ${DEPS} ${EXTERNAL_LIB})
-
 set(DEPS ${DEPS} ${OpenCV_LIBS})
+
 add_executable(classifier demo/classifier.cpp src/transforms.cpp src/paddlex.cpp)
 ADD_DEPENDENCIES(classifier ext-yaml-cpp)
 target_link_libraries(classifier ${DEPS})

+ 3 - 2
deploy/raspberry/scripts/build.sh

@@ -8,7 +8,7 @@ GFLAGS_DIR=$(pwd)/deps/gflags
 OPENCV_DIR=$(pwd)/deps/opencv
 
 # arm处理器架构,默认为armv7若CPU为armv8请修改为ARCH=armv8
-ARCH=armv7
+ARCH=armv7-a
 
 # 采用lite的版本,可选为full 与 light,默认为full版
 LITE=full
@@ -24,5 +24,6 @@ cmake .. \
     -DGFLAGS_DIR=${GFLAGS_DIR} \
     -DLITE_DIR=${LITE_DIR} \
     -DARCH=${ARCH} \
-    -DLITE=${LITE}
+    -DLITE=${LITE} \
+    -DCMAKE_CXX_FLAGS="-march=${ARCH}"
 make -j4

+ 2 - 2
docs/deploy/raspberry/Raspberry.md

@@ -76,8 +76,8 @@ LITE_DIR=/path/to/Paddle-Lite/inference/lib
 GFLAGS_DIR=$(pwd)/deps/gflags
 # opencv预编译库的路径,若自行编译请指定到对应路径
 OPENCV_DIR=$(pwd)/deps/opencv/
-# arm处理器架构 armv7或者armv8
-ARCH=armv7
+# arm处理器架构 armv7-a或者armv8-a
+ARCH=armv7-a
 # Lite预测库版本 light或者full
 LITE=full
 ```