读书人

异常error LNK2019:网上找了好久也没有

发布时间: 2013-11-21 23:38:25 作者: rapoo

错误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图什么的,你可以试试看。要养成好习惯啊。

读书人网 >C++

热点推荐