C++ 对类构造函数的未定义引用

C++ 对类构造函数的未定义引用,c++,undefined-reference,C++,Undefined Reference,这是我的密码: menuState.hpp #ifndef MENU_STATE_HPP #define MENU_STATE_HPP #include "state.hpp" #include <SFML/Graphics.hpp> class MenuState : public State { public: MenuState(); static void create(StateListener* Parent, const s

这是我的密码:

menuState.hpp

#ifndef MENU_STATE_HPP
#define MENU_STATE_HPP

#include "state.hpp"
#include <SFML/Graphics.hpp>

class MenuState : public State
{
    public:
        MenuState();

        static void create(StateListener* Parent, const std::string name)
        {
            MenuState* myState = new MenuState();
            myState->parent = Parent;
            Parent->manageState(name, myState);
        }

        void enter();
        void exit();
        void resume();
    private:

};

#endif // MENU_STATE_HPP
\ifndef菜单\u状态\u水电站
#定义菜单\u状态\u水电站
#包括“state.hpp”
#包括
类MenuState:公共状态
{
公众:
MenuState();
静态void create(StateListener*父,const std::string name)
{
MenuState*myState=new MenuState();
myState->parent=parent;
父->管理状态(名称,myState);
}
无效输入();
无效退出();
作废简历();
私人:
};
#endif//菜单\状态\水电站
当我执行
MenuState*myState=new MenuState()时,我得到了对构造函数的未定义引用

编辑:我的所有sfml函数也出现了相同的错误

以下是确切的构建消息:


我确实链接了sfml库,并在我的编译器搜索目录中设置了标题路径。

最好显示错误的确切文本,但我的猜测是,您得到的是链接器错误,而不是编译器错误。您是否在任何地方实际实现了构造函数?我打赌你没有。最好显示错误的确切文本,但我有根据的猜测是,你得到的是链接器错误,而不是编译器错误。您是否在任何地方实际实现了构造函数?我敢打赌,你没有。

< p>我不是一个经验C++开发人员,但是看起来像是声明了MuuStand构造函数但没有定义。
替换MenuState();使用MeUnStEnter(){}应该修复错误。

< P>我不是一个经验C++开发人员,但它看起来像是声明了MuuStand构造函数但没有定义。
替换MenuState();使用MenuState(){}应该可以修复错误。

您缺少定义/实现,cupcake。@CaptainObvlious,听起来很好吃。@chris它的保质期更长。MenuState.cpp没有包含在codeblocks项目中,因此出现了错误。没有注意到>。您缺少定义/实现,cupcake。@CaptainObvlious,听起来很好吃。@chris这是因为较长的保质期。menuState.cpp未包含在codeblocks项目中,因此出现了错误。没有注意到>menuState.cpp未包含在codeblocks项目中,因此出现了错误。没有注意到>。我的所有sfml函数也会出现相同的错误。下面是确切的构建消息:我确实链接了sfml库,并且在编译器搜索目录中设置了头路径。menuState.cpp未包含在codeblocks项目中,因此出现了错误。没有注意到>。我的所有sfml函数也会出现相同的错误。下面是确切的构建消息:我确实链接了sfml库,并在编译器搜索目录中设置了头路径。