Spaces:
Runtime error
Runtime error
set -e | |
if [ -z $CXX ];then | |
echo "please export you c++ toolchain to CXX" | |
echo "for example:" | |
echo "build for host: export CXX=g++" | |
echo "cross build for aarch64-android(always locate in NDK): export CXX=aarch64-linux-android21-clang++" | |
echo "cross build for aarch64-linux: export CXX=aarch64-linux-gnu-g++" | |
exit -1 | |
fi | |
if [ -z $MGE_INSTALL_PATH ];then | |
echo "please refsi ./README.md to init MGE_INSTALL_PATH env" | |
exit -1 | |
fi | |
if [ -z $OPENCV_INSTALL_INCLUDE_PATH ];then | |
echo "please refs ./README.md to init OPENCV_INSTALL_INCLUDE_PATH env" | |
exit -1 | |
fi | |
if [ -z $OPENCV_INSTALL_LIB_PATH ];then | |
echo "please refs ./README.md to init OPENCV_INSTALL_LIB_PATH env" | |
exit -1 | |
fi | |
INCLUDE_FLAG="-I$MGE_INSTALL_PATH/include -I$OPENCV_INSTALL_INCLUDE_PATH" | |
LINK_FLAG="-L$MGE_INSTALL_PATH/lib/ -lmegengine -L$OPENCV_INSTALL_LIB_PATH -lopencv_core -lopencv_highgui -lopencv_imgproc -lopencv_imgcodecs" | |
BUILD_FLAG="-static-libstdc++ -O3 -pie -fPIE -g" | |
if [[ $CXX =~ "android" ]]; then | |
LINK_FLAG="${LINK_FLAG} -llog -lz" | |
fi | |
echo "CXX: $CXX" | |
echo "MGE_INSTALL_PATH: $MGE_INSTALL_PATH" | |
echo "INCLUDE_FLAG: $INCLUDE_FLAG" | |
echo "LINK_FLAG: $LINK_FLAG" | |
echo "BUILD_FLAG: $BUILD_FLAG" | |
echo "[" > compile_commands.json | |
echo "{" >> compile_commands.json | |
echo "\"directory\": \"$PWD\"," >> compile_commands.json | |
echo "\"command\": \"$CXX yolox.cpp -o yolox ${INCLUDE_FLAG} ${LINK_FLAG}\"," >> compile_commands.json | |
echo "\"file\": \"$PWD/yolox.cpp\"," >> compile_commands.json | |
echo "}," >> compile_commands.json | |
echo "]" >> compile_commands.json | |
$CXX yolox.cpp -o yolox ${INCLUDE_FLAG} ${LINK_FLAG} ${BUILD_FLAG} | |
echo "build success, output file: yolox" | |
if [[ $CXX =~ "android" ]]; then | |
echo "try command to run:" | |
echo "adb push/scp $MGE_INSTALL_PATH/lib/libmegengine.so android_phone" | |
echo "adb push/scp $OPENCV_INSTALL_LIB_PATH/*.so android_phone" | |
echo "adb push/scp ./yolox yolox_s.mge android_phone" | |
echo "adb push/scp ../../../assets/dog.jpg android_phone" | |
echo "adb/ssh to android_phone, then run: LD_LIBRARY_PATH=. ./yolox yolox_s.mge dog.jpg cpu/multithread <warmup_count> <thread_number> <use_fast_run> <use_weight_preprocess>" | |
else | |
echo "try command to run: LD_LIBRARY_PATH=$MGE_INSTALL_PATH/lib/:$OPENCV_INSTALL_LIB_PATH ./yolox yolox_s.mge ../../../assets/dog.jpg cuda/cpu/multithread <warmup_count> <thread_number> <use_fast_run> <use_weight_preprocess>" | |
fi | |