未定义的引用'OpenNIProcessor::run()'

undefined reference 'OpenNIProcessor::run()'

本文关键字:run 未定义 OpenNIProcessor 引用      更新时间:2023-10-16

我创建了一个头文件'OpenNIProcessor.h',并在头文件中声明了run()方法。

我得到的错误信息是:main.cpp:对'OpenNIProcessor::run()'的未定义引用

OpenNIProcessor.h

class OpenNIProcessor
{
    public:
        void cloud_cb_ (const pcl::PointCloud<pcl::PointXYZRGBA>::ConstPtr &cloud);
        void run();
    protected:
    private:
};

OpenNIProcessor.cpp

class OpenNIProcessor
{
    public:
    void cloud_cb_ (const pcl::PointCloud<pcl::PointXYZRGBA>::ConstPtr &cloud)
    {
        ....
    }
    void run ()
    {
     ....
    }
}

main.cpp

int main()
{
    OpenNIProcessor v;
    v.run();
    return(0);
}

你必须在OpenNIProcessor.cpp文件中重写代码,如下所示:

void OpenNIProcessor::cloud_cb_ 
                  (const pcl::PointCloud<pcl::PointXYZRGBA>::ConstPtr &cloud)
    {
        ....
    }
    void OpenNIProcessor::run ()
    {
     ....
    }