Closed chris2lee closed 2 years ago
https://stackoverflow.com/questions/55458487/stdexpf-and-stdlogf-not-recognized-by-gcc-7-2-0
gcc编译器不支持类似std::expf的问题,这确实是我没考虑到,正在填坑。
可以尝试下修复后的代码 (#82 )
/home/ubuntu/RobustVideoMatting-onnxruntime/lite.ai.toolkit/include/lite/utils.h: In instantiation of ‘std::vector
还是发生了错误
ubuntu@ubuntu-M12SWA-TF:~/lite.ai.toolkit$ sh ./build.sh build directory exist! clearing ... clear built files done ! & rebuilding ... -- The C compiler identification is GNU 7.5.0 -- The CXX compiler identification is GNU 7.5.0 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /usr/bin/cc - skipped -- Detecting C compile features -- Detecting C compile features - done -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done ########## Checking Platform for: /home/ubuntu/lite.ai.toolkit ########### ==================================== Lite.AI.ToolKit 0.1.0 ============================= Project: lite.ai.toolkit Version: 0.1.0 SO Version: 0.1.0 Build Type: MinSizeRel Platform Name: linux Root Path: /home/ubuntu/lite.ai.toolkit
################################### Engines Enable Details ... ####################################### -- INCLUDE_OPENCV: ON -- ENABLE_ONNXRUNTIME: ON -- ENABLE_MNN: OFF -- ENABLE_NCNN: OFF -- ENABLE_TNN: OFF ###################################################################################################### ########## Setting up OpenCV libs for: /home/ubuntu/lite.ai.toolkit ########### ########################################################################################### Installing Lite.AI.ToolKit Headers for ONNXRuntime Backend ... -- Installing: /home/ubuntu/lite.ai.toolkit/build/lite.ai.toolkit/include/lite/ort/core/ort_config.h ·················· -- Configuring done -- Generating done -- Build files have been written to: /home/ubuntu/lite.ai.toolkit/build [ 0%] Building CXX object CMakeFiles/lite.ai.toolkit.dir/lite/utils.cpp.o [ 0%] Building CXX object CMakeFiles/lite.ai.toolkit.dir/lite/ort/cv/cava_ghost_arcface.cpp.o [ 1%] Building CXX object CMakeFiles/lite.ai.toolkit.dir/lite/ort/cv/center_loss_face.cpp.o [ 2%] Building CXX object CMakeFiles/lite.ai.toolkit.dir/lite/ort/cv/deeplabv3_resnet101.cpp.o [ 2%] Building CXX object CMakeFiles/lite.ai.toolkit.dir/lite/ort/cv/colorizer.cpp.o [ 3%] Building CXX object CMakeFiles/lite.ai.toolkit.dir/lite/ort/cv/age_googlenet.cpp.o [ 3%] Building CXX object CMakeFiles/lite.ai.toolkit.dir/lite/ort/cv/cava_combined_face.cpp.o [ 3%] Building CXX object CMakeFiles/lite.ai.toolkit.dir/lite/ort/cv/densenet.cpp.o In file included from /home/ubuntu/lite.ai.toolkit/lite/utils.cpp:5:0: /home/ubuntu/lite.ai.toolkit/lite/utils.h: In function ‘std::vector<_Tp> lite::utils::math::softmax(const T, unsigned int, unsigned int&)’: /home/ubuntu/lite.ai.toolkit/lite/utils.h:94:29: error: ‘expf’ is not a member of ‘std’ softmax_probs[i] = std::expf(logits[i]); ^~~~ /home/ubuntu/lite.ai.toolkit/lite/utils.h:94:29: note: suggested alternative: ‘exp’ softmax_probs[i] = std::expf(logits[i]); ^~~~ exp /home/ubuntu/lite.ai.toolkit/lite/utils.h: In function ‘std::vector<_Tp> lite::utils::math::softmax(const std::vector<_Tp>&, unsigned int&)’: /home/ubuntu/lite.ai.toolkit/lite/utils.h:119:29: error: ‘expf’ is not a member of ‘std’ softmax_probs[i] = std::expf(logits[i]); ^~~~ /home/ubuntu/lite.ai.toolkit/lite/utils.h:119:29: note: suggested alternative: ‘exp’ softmax_probs[i] = std::expf(logits[i]); ^~~~ exp /home/ubuntu/lite.ai.toolkit/lite/utils.cpp: In function ‘void lite::utils::draw_axis_inplace(cv::Mat&, const EulerAngles&, float, int)’: /home/ubuntu/lite.ai.toolkit/lite/utils.cpp:48:47: error: ‘cosf’ is not a member of ‘std’ const int x1 = static_cast(size std::cosf(yaw) std::cosf(roll)) + tdx;
^~~~
/home/ubuntu/lite.ai.toolkit/lite/utils.cpp:48:47: note: suggested alternative: ‘cosh’
const int x1 = static_cast(size std::cosf(yaw) std::cosf(roll)) + tdx;
^~~~
cosh
/home/ubuntu/lite.ai.toolkit/lite/utils.cpp:48:64: error: ‘cosf’ is not a member of ‘std’
const int x1 = static_cast(size std::cosf(yaw) std::cosf(roll)) + tdx;
^~~~
/home/ubuntu/lite.ai.toolkit/lite/utils.cpp:48:64: note: suggested alternative: ‘cosh’
const int x1 = static_cast(size std::cosf(yaw) std::cosf(roll)) + tdx;
^~~~
cosh
/home/ubuntu/lite.ai.toolkit/lite/utils.cpp:50:35: error: ‘cosf’ is not a member of ‘std’
size (std::cosf(pitch) std::sinf(roll)
^~~~
/home/ubuntu/lite.ai.toolkit/lite/utils.cpp:50:35: note: suggested alternative: ‘cosh’
size (std::cosf(pitch) std::sinf(roll)
^~~~
cosh
/home/ubuntu/lite.ai.toolkit/lite/utils.cpp:50:54: error: ‘sinf’ is not a member of ‘std’
size (std::cosf(pitch) std::sinf(roll)
^~~~
/home/ubuntu/lite.ai.toolkit/lite/utils.cpp:50:54: note: suggested alternative: ‘sinh’
size (std::cosf(pitch) * std::sinf(roll)
^~~~
sinh
/home/ubuntu/lite.ai.toolkit/lite/utils.cpp:51:37: error: ‘cosf’ is not a member of ‘std’