Skip to content
This repository has been archived by the owner on Aug 7, 2024. It is now read-only.

Function createLandmarksDetection is not defined yet. #134

Open
Corsair-cxs opened this issue Mar 14, 2021 · 0 comments
Open

Function createLandmarksDetection is not defined yet. #134

Corsair-cxs opened this issue Mar 14, 2021 · 0 comments

Comments

@Corsair-cxs
Copy link
Contributor

Version

dev-ov2020.3

Reproduction link

  1. https://github.com/intel/ros_openvino_toolkit/blob/dev-ov2020.3/dynamic_vino_lib/include/dynamic_vino_lib/pipeline_manager.h
  2. https://github.com/intel/ros_openvino_toolkit/blob/dev-ov2020.3/dynamic_vino_lib/src/pipeline_manager.cpp

Steps to reproduce

run catkin_make in catkin_ws workspace.

What is expected?

Function createLandmarksDetection(const Params::ParamManager::InferenceRawData& infer) has defined and build pass.

What is actually happening?

When I tried to build projects, the console reports undefined reference

/home/cxs/my_code/ros_vino_ws/devel/lib/libdynamic_vino_lib.so: undefined reference to `PipelineManager::createLandmarksDetection(Params::ParamManager::InferenceRawData const&)'

but when I've add function defineations, error shown in console:

/home/cxs/my_code/ros_vino_ws/src/ros_openvino_toolkit/dynamic_vino_lib/src/pipeline_manager.cpp:438:90:   required from here
/usr/include/c++/7/ext/new_allocator.h:136:4: error: invalid new-expression of abstract class type ‘Models::LandmarksDetectionModel’
  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/cxs/my_code/ros_vino_ws/src/ros_openvino_toolkit/dynamic_vino_lib/include/dynamic_vino_lib/inferences/landmarks_detection.h:24:0,
                 from /home/cxs/my_code/ros_vino_ws/src/ros_openvino_toolkit/dynamic_vino_lib/src/pipeline_manager.cpp:34:
/home/cxs/my_code/ros_vino_ws/src/ros_openvino_toolkit/dynamic_vino_lib/include/dynamic_vino_lib/models/landmarks_detection_model.h:29:7: note:   because the following virtual functions are pure within ‘Models::LandmarksDetectionModel’:
 class LandmarksDetectionModel : public BaseModel
       ^~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/cxs/my_code/ros_vino_ws/src/ros_openvino_toolkit/dynamic_vino_lib/include/dynamic_vino_lib/engines/engine.h:26:0,
                 from /home/cxs/my_code/ros_vino_ws/src/ros_openvino_toolkit/dynamic_vino_lib/include/dynamic_vino_lib/inferences/age_gender_detection.h:28,
                 from /home/cxs/my_code/ros_vino_ws/src/ros_openvino_toolkit/dynamic_vino_lib/src/pipeline_manager.cpp:26:
/home/cxs/my_code/ros_vino_ws/src/ros_openvino_toolkit/dynamic_vino_lib/include/dynamic_vino_lib/models/base_model.h:113:16: note: 	virtual bool Models::BaseModel::updateLayerProperty(InferenceEngine::CNNNetReader::Ptr)
   virtual bool updateLayerProperty(InferenceEngine::CNNNetReader::Ptr network_reader) = 0;
                ^~~~~~~~~~~~~~~~~~~

this is my code to define function createLandmarksDetection:

std::shared_ptr<dynamic_vino_lib::BaseInference>
PipelineManager::createLandmarksDetection(
  const Params::ParamManager::InferenceRawData & infer)
{
  auto model = std::make_shared<Models::LandmarksDetectionModel>(infer.model, infer.batch);
  model->modelInit();
  auto engine = engine_manager_.createEngine(infer.engine, model);
  auto landmarks_inference_ptr =  std::make_shared<dynamic_vino_lib::LandmarksDetection>();
  landmarks_inference_ptr->loadNetwork(model);
  landmarks_inference_ptr->loadEngine(engine);

  return landmarks_inference_ptr;
}
LewisLiuPub added a commit that referenced this issue Mar 15, 2021
Comment function 'createLandmarksDetection' related code [issue #134]
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant