Open LiYufengzz opened 3 years ago
在mac上编译运行成功了,想测试一下使用opencl是否会更快一点,但是编译报错 Undefined symbols for architecture x86_64: "MNN::Interpreter::releaseModel()", referenced from: LFFD::~LFFD() in MNN_LFFD.cpp.o "MNN::Interpreter::resizeTensor(MNN::Tensor, std::1::vector<int, std::1::allocator > const&)", referenced from: LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o "MNN::Interpreter::createSession(MNN::ScheduleConfig const&)", referenced from: LFFD::LFFD(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, int, int) in MNN_LFFD.cpp.o "MNN::Interpreter::resizeSession(MNN::Session)", referenced from: LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o "MNN::Interpreter::createFromFile(char const)", referenced from: LFFD::LFFD(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, int, int) in MNN_LFFD.cpp.o "MNN::Interpreter::releaseSession(MNN::Session)", referenced from: LFFD::~LFFD() in MNN_LFFD.cpp.o "MNN::Interpreter::getSessionInput(MNN::Session const, char const)", referenced from: LFFD::LFFD(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, int, int) in MNN_LFFD.cpp.o "MNN::Interpreter::getSessionOutput(MNN::Session const, char const)", referenced from: LFFD::LFFD(std::1::basic_string<char, std::__1::char_traits, std::1::allocator > const&, int, int) in MNN_LFFD.cpp.o "MNN::Interpreter::~Interpreter()", referenced from: std::1::default_delete::operator()(MNN::Interpreter) const in MNN_LFFD.cpp.o "MNN::CV::ImageProcess::create(MNN::CV::ImageProcess::Config const&, MNN::Tensor const)", referenced from: LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o "MNN::CV::ImageProcess::convert(unsigned char const, int, int, int, MNN::Tensor)", referenced from: LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o "MNN::CV::ImageProcess::~ImageProcess()", referenced from: std::1::default_delete::operator()(MNN::CV::ImageProcess) const in MNN_LFFD.cpp.o "MNN::Tensor::Tensor(MNN::Tensor const, MNN::Tensor::DimensionType, bool)", referenced from: LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o "MNN::Tensor::~Tensor()", referenced from: LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o "MNN::Interpreter::runSession(MNN::Session) const", referenced from: LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o "MNN::Tensor::copyToHostTensor(MNN::Tensor) const", referenced from: LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o "MNN::Tensor::getDimensionType() const", referenced from: MNN::Tensor::width() const in MNN_LFFD.cpp.o MNN::Tensor::height() const in MNN_LFFD.cpp.o "MNN::Tensor::shape() const", referenced from: LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[2]: [test] Error 1 make[1]: [CMakeFiles/test.dir/all] Error 2 make: *** [all] Error 2 请问你做了OpenCL或者vulkan后端的测试了吗,能否解答一下疑惑,谢谢
在mac上编译运行成功了,想测试一下使用opencl是否会更快一点,但是编译报错 Undefined symbols for architecture x86_64: "MNN::Interpreter::releaseModel()", referenced from: LFFD::~LFFD() in MNN_LFFD.cpp.o "MNN::Interpreter::resizeTensor(MNN::Tensor, std::1::vector<int, std::1::allocator > const&)", referenced from:
LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o
"MNN::Interpreter::createSession(MNN::ScheduleConfig const&)", referenced from:
LFFD::LFFD(std::1::basic_string<char, std::__1::char_traits, std:: 1::allocator > const&, int, int) in MNN_LFFD.cpp.o
"MNN::Interpreter::resizeSession(MNN::Session )", referenced from:
LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o
"MNN::Interpreter::createFromFile(char const)", referenced from:
LFFD::LFFD(std::1::basic_string<char, std::__1::char_traits, std:: 1::allocator > const&, int, int) in MNN_LFFD.cpp.o
"MNN::Interpreter::releaseSession(MNN::Session )", referenced from:
LFFD::~LFFD() in MNN_LFFD.cpp.o
"MNN::Interpreter::getSessionInput(MNN::Session const, char const)", referenced from:
LFFD::LFFD(std::1::basic_string<char, std::__1::char_traits, std:: 1::allocator > const&, int, int) in MNN_LFFD.cpp.o
"MNN::Interpreter::getSessionOutput(MNN::Session const, char const)", referenced from:
LFFD::LFFD(std::1::basic_string<char, std::__1::char_traits, std:: 1::allocator > const&, int, int) in MNN_LFFD.cpp.o
"MNN::Interpreter::~Interpreter()", referenced from:
std::1::default_delete::operator()(MNN::Interpreter) const in MNN_LFFD.cpp.o
"MNN::CV::ImageProcess::create(MNN::CV::ImageProcess::Config const&, MNN::Tensor const)", referenced from:
LFFD::detect(cv::Mat&, std:: 1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std:: 1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o
"MNN::CV::ImageProcess::convert(unsigned char const, int, int, int, MNN::Tensor)", referenced from:
LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o
"MNN::CV::ImageProcess::~ImageProcess()", referenced from:
std:: 1::default_delete::operator()(MNN::CV::ImageProcess) const in MNN_LFFD.cpp.o
"MNN::Tensor::Tensor(MNN::Tensor const, MNN::Tensor::DimensionType, bool)", referenced from:
LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o
"MNN::Tensor::~Tensor()", referenced from:
LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o
"MNN::Interpreter::runSession(MNN::Session) const", referenced from:
LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o
"MNN::Tensor::copyToHostTensor(MNN::Tensor ) const", referenced from:
LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o
"MNN::Tensor::getDimensionType() const", referenced from:
MNN::Tensor::width() const in MNN_LFFD.cpp.o
MNN::Tensor::height() const in MNN_LFFD.cpp.o
"MNN::Tensor::shape() const", referenced from:
LFFD::detect(cv::Mat&, std::1::vector<FaceInfo, std::1::allocator >&, int, int, float, float, int, std::1::vector<int, std::1::allocator >) in MNN_LFFD.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: [test] Error 1
make[1]: [CMakeFiles/test.dir/all] Error 2
make: *** [all] Error 2
请问你做了OpenCL或者vulkan后端的测试了吗,能否解答一下疑惑,谢谢