注册 登录
编程论坛 VC++/MFC

我又来了,还是上次的问题,呵呵

szjszj 发布于 2013-11-04 13:16, 653 次点击
错误信息:
ceguifalagardex.lib(FalActionButtonProperties.obj) : error LNK2019:
无法解析的外部符号 "
__declspec(dllimport) public: __thiscall CEGUI::PushButton::PushButton(class CEGUI::PushButton const &)" (__imp_??0PushButton@CEGUI@@QAE@ABV01@@Z),
该符号在函数
"public: __thiscall CEGUI::FalagardButton::FalagardButton(class CEGUI::FalagardButton const &)" (??0FalagardButton@CEGUI@@QAE@ABV01@@Z) 中 被引用
代码有点多,呵呵
CEGUI::PushButton::PushButton类定义
#include "elements/CEGUIPushButton.h"

// Start of CEGUI namespace section
namespace CEGUI
{
// event strings
const String PushButton::EventNamespace("PushButton");
const String PushButton::EventClicked( (utf8*)"Clicked" );
// properties
PushButtonProperties::NormalImage PushButton::d_normalImageProperty;
PushButtonProperties::PushedImage PushButton::d_pushedImageProperty;
PushButtonProperties::HoverImage  PushButton::d_hoverImageProperty;
PushButtonProperties::DisabledImage  PushButton::d_disabledImageProperty;
PushButtonProperties::UseStandardImagery PushButton::d_useStandardImageryProperty;
PushButtonProperties::TextXOffset PushButton::d_textXOffsetProperty;
 
PushButton::PushButton(const String& type, const String& name) :
    ButtonBase(type, name)
{
    // default options
    d_autoscaleImages        = true;
    d_useStandardImagery    = true;
    d_useNormalImage        = false;
    d_useHoverImage            = false;
    d_usePushedImage        = false;
    d_useDisabledImage        = false;
    d_textXOffset = 0.0f;
 
    // add properties for push button class
    addPushButtonProperties();
}
 
PushButton::~PushButton(void)
{
}
 
bool PushButton::isStandardImageryEnabled(void) const
{
    return d_useStandardImagery;
}
 
bool PushButton::isCustomImageryAutoSized(void) const
{
    return d_autoscaleImages;
}
 
const RenderableImage* PushButton::getNormalImage(void) const
{
    return d_useNormalImage ? &d_normalImage : static_cast<const RenderableImage*>(0);
}
 
const RenderableImage* PushButton::getHoverImage(void) const
{
    return d_useHoverImage ? &d_hoverImage : static_cast<const RenderableImage*>(0);
}
 
const RenderableImage* PushButton::getPushedImage(void) const
{
    return d_usePushedImage ? &d_pushedImage : static_cast<const RenderableImage*>(0);
}
 
const RenderableImage* PushButton::getDisabledImage(void) const
{
    return d_useDisabledImage ? &d_disabledImage : static_cast<const RenderableImage*>(0);
}
 
float PushButton::getTextXOffset(void) const
{
    return d_textXOffset;
}
 
void PushButton::setStandardImageryEnabled(bool setting)
{
}
 
void PushButton::setCustomImageryAutoSized(bool setting)
{
     
}
 
void PushButton::setNormalImage(const RenderableImage* image)
{
   
}
 
void PushButton::setHoverImage(const RenderableImage* image)
{
   
}
 
void PushButton::setPushedImage(const RenderableImage* image)
{
}
 
void PushButton::setDisabledImage(const RenderableImage* image)
{
}
 
void PushButton::setTextXOffset(float offset)
{
    d_textXOffset = offset;
}
 
 
void PushButton::onClicked(WindowEventArgs& e)
{
    fireEvent(EventClicked, e, EventNamespace);
}
 
void PushButton::onMouseButtonUp(MouseEventArgs& e)
{
}
 
void PushButton::onSized(WindowEventArgs& e)
{
}
 
void PushButton::resizeWithText()
{
}
 
void PushButton::addPushButtonProperties(void)
{
}
 
} // End of  CEGUI namespace section
 
 
CEGUI::FalagardButton::FalagardButton类定义
#include "FalButton.h"
#include "falagard/CEGUIFalWidgetLookManager.h"
#include "falagard/CEGUIFalWidgetLookFeel.h"
 
// Start of CEGUI namespace section
namespace CEGUI
{
    const utf8 FalagardButton::WidgetTypeName[] = "Falagard/Button";
 
    FalagardButton::FalagardButton(const String& type, const String& name) :
        PushButton(type, name)
    {
    }
 
    FalagardButton::~FalagardButton()
    {
    }
 
    void FalagardButton::drawSelf(float z)
    {
         
    }
 
    void FalagardButton::drawNormal(float z)
    {
 
    }
 
    void FalagardButton::drawHover(float z)
    {
 
    }
 
    void FalagardButton::drawPushed(float z)
    {
 
    }
 
    void FalagardButton::drawDisabled(float z)
    {
 
    }
 
    void FalagardButton::doButtonRender(const String& state)
    {
         
    }
 
    Size FalagardButton::getRenderSize()
    {
     
    }
 
    Window* FalagardButtonFactory::createWindow(const String& name)
    {
        return new FalagardButton(d_type, name);
    }
 
    void FalagardButtonFactory::destroyWindow(Window* window)
    {
        delete window;
    }
 
} // End of  CEGUI namespace section
1 回复
#2
wzla3332013-11-06 14:59
函数重定义 你查查代码里#include 是不是多次调用 或者类定义有错误。 类中定义静态变量也会出现这个问题。可以在类外定义全局静态变量
1