我有一个用C ++编写的MFC项目,我想在CEdit控件中显示一些文本。 到目前为止,我试过这个:
MFCApplication1Dlg.h
...
void CMFCApplication1Dlg::setProgress(std::string message)
{
m_progress.SetWindowTextW((LPCTSTR)message.c_str());
}
void logMessage(std::string message)
{
if(logFile.is_open())
{
logFile << message;
logFile.flush();
CMFCApplication1Dlg::setProgress(message);
}
}
...
MFCApplication1Dlg.cpp
error LNK2001: unresolved external symbol "private: static class CEdit CMFCApplication1Dlg::m_progress" (?m_progress@CMFCApplication1Dlg@@0VCEdit@@A)
编译时我有这个错误:
PDF
任何人都可以告诉我这个错误是什么,我怎样才能在CEdit中显示消息?
答案 0 :(得分:1)
您必须在cpp文件中定义静态成员:
CEdit CMFCApplication1Dlg::m_progress;
在标题中,它只是声明,未定义。
另外,我希望SetWindowTextW
能够采用wstring::c_str()
参数,而不是string::c_str()
。