首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

异常error LNK2019:网上找了好久也没有找到解决方法?

2013-11-21 
错误error LNK2019:,网上找了好久也没有找到解决办法???错误信息:ceguifalagardex.lib(FalActionButtonPro

错误error LNK2019:,网上找了好久也没有找到解决办法???
错误信息:
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

C++
[解决办法]
引用:
其实我想问的应该是c++语法问题,public: __thiscall CEGUI::PushButton::PushButton(class CEGUI::PushButton const &)" (__imp_??0PushButton@CEGUI@@QAE@ABV01@@Z)这个方法我怎么找不到,初学c++见谅

确认下 ceguifalagardex.lib 是否链接成功了?
[解决办法]
项目、属性、链接器、常规、附加库目录:填写附加依赖库所在目录 分号间隔多项
项目、属性、链接器、输入、附加依赖项:填写附加依赖库的名字.lib 空格或分号间隔多项

[解决办法]
把以来的库拷贝到你的工程试试 或者把中文改成英文
[解决办法]
引用:
Quote: 引用:

把以来的库拷贝到你的工程试试 或者把中文改成英文

请问具体拷贝工程的哪个目录,而且工程很多很乱,工程的根目录我也不能确定,我应该怎么去找工程的根目录

没有文档之类的么?工程越是乱,你就越是要花心思去重新调整下,而不是弄个临时的解决办法,等到扩充的时候又会有同样的问题,这是饮鸩止渴。
你把工程中涉及的文件都检查一遍吧,然后重新调整下结构什么的。以后记得写文档。C++的话可以用doxygen + graphviz写类似javadoc的文档,graphviz可以生成函数调用关系图,UML图什么的,你可以试试看。要养成好习惯啊。

热点排行