我创建了头文件'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 ()
    {
     ....
    }

10-08 05:37