Tencent / ncnn

ncnn is a high-performance neural network inference framework optimized for the mobile platform
Other
20.37k stars 4.16k forks source link

Jetson-tx2编译tool里的ncnn2table失败 #2665

Open Maweiten opened 3 years ago

Maweiten commented 3 years ago

cmake命令: cmake -DCMAKE_BUILD_TYPE=Release -DNCNN_VULKAN=ON -DNCNN_BUILD_TOOLS=ON -DNCNN_SYSTEM_GLSLANG=ON -DNCNN_BUILD_EXAMPLES=ON -DCMAKE_TOOLCHAIN_FILE=../toolchains/jetson.toolchain.cmake .. 错误提示: In file included from /usr/local/include/opencv2/flann/params.h:33:0, from /usr/local/include/opencv2/flann/flann_base.hpp:40, from /usr/local/include/opencv2/flann.hpp:48, from /usr/local/include/opencv2/opencv.hpp:65, from /home/yayale/Code/ncnn/tools/quantize/ncnn2table.cpp:28: /usr/local/include/opencv2/flann/any.h: In member function ‘virtual const std::type_info& cvflann::anyimpl::typed_base_any_policy::type()’: /usr/local/include/opencv2/flann/any.h:58:71: error: cannot use typeid with -fno-rtti virtual const std::type_info& type() CV_OVERRIDE { return typeid(T); } ^ /usr/local/include/opencv2/flann/any.h: In member function ‘T& cvflann::any::cast()’: /usr/local/include/opencv2/flann/any.h:274:39: error: cannot use typeid with -fno-rtti if (policy->type() != typeid(T)) throw anyimpl::bad_any_cast(); ^ /usr/local/include/opencv2/flann/any.h: In member function ‘const T& cvflann::any::cast() const’: /usr/local/include/opencv2/flann/any.h:283:39: error: cannot use typeid with -fno-rtti if (policy->type() != typeid(T)) throw anyimpl::bad_any_cast(); ^ /usr/local/include/opencv2/flann/any.h: In member function ‘bool cvflann::any::empty() const’: /usr/local/include/opencv2/flann/any.h:291:59: error: cannot use typeid with -fno-rtti return policy->type() == typeid(anyimpl::empty_any); ^ /usr/local/include/opencv2/flann/any.h: In member function ‘bool cvflann::any::has_type()’: /usr/local/include/opencv2/flann/any.h:311:42: error: cannot use typeid with -fno-rtti return policy->type() == typeid(T); ^

ChiShao commented 3 years ago

@Maweiten 你好,我在jetson nano上编译时也遇到了相同的错误,请问你解决了吗?

Qengineering commented 3 years ago

I've had the same error with the Raspberry Pi 4 with 64-bit OS. The problem is that OpenCV requires RTTI (you use /usr/local/include/opencv2/flann/params.h in the build) and ncnn has default RTTI switched off. Please build your ncnn framework again with -DNCNN_DISABLE_RTTI=OFF. See also #2694