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

Function createLandmarksDetection is not defined yet. #134

@Corsair-cxs

Description

@Corsair-cxs

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;
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions