Упоминание CMainFrame
в вашей последней ошибке предполагает, что у вас есть проект на основе MFC.Однако класс CMainFrame
обычно является частью проекта MFC, определенного в файлах MainFrm.h
и MainFrm.cpp
.Если ваш проект изначально был сгенерирован Visual Studio, то файл ReadMe.txt вашего проекта должен подтвердить, что.
Кажется несколько подозрительным, что CMainFrame::OnHtmlHelp
будет иметь неразрешенную ссылку, но я определенно неЭксперт MFC!
Похоже, что поддержка Справка HTML в приложениях MFC завершена в Visual Studio 2010. Страница расширенных функций мастера приложений MFC включает флажок для Contextсправка (HTML) .Документация для этого флажка указывает на дополнительную информацию.
В документации Visual Studio 2010 страница Расширенные функции указывает на эту страницу .Однако в документации по Visual Studio 2012 страница расширенных функций указывает на эту страницу , которая говорит…
Важно
Справка HTML не поддерживается в этомверсия MFC.
Документация Visual Studio 2013 указывает на аналогичную страницу
Что нового для Visual C ++ в Visual Studio 2012 и Срочные изменения в страницах Visual C ++ 2012 не упоминают о том, что HtmlHelp де-реализован, и не упоминают о замене или обходном пути.
Есть такой вопрос без ответа: htmlhelp.lib для приложения Visual Studio 2012 MFC? .
Я не распознаю CZoomView
, CDialogCurrentPhasor
или CDialogRunAnalysisFromFilePF
(что не обязательно означаеточень сильно).Они не отображаются в документации MFC для Visual Studio 2013, в которой указано, что они определены в вашем проекте или являются частью какого-либо стороннего пакета.
Вы уверены, что ваша сборка компилирует все файлы .cpp, которые онадолжен скомпилировать?Вы пытались перестроить все решение?
Если это классы, определенные вашим проектом, возможно, на них повлияла проблема Htmlhelp.
Возможно, вам следует начать с попыткиустранить ошибку LNK2001 CStringT
, поскольку она первая.Другими ошибками могут быть последующие последствия этой ошибки (если вам повезет).
… длинный вводящий в заблуждение (и неправильный) раздел удален…
Второй взгляд наЯ понял, что из-за этой ошибки я отправил вас в совершенно неверном направлении, сосредоточившись на CStringT
.Соответствующая часть текста ошибки: ...
error LNK2001: unresolved external symbol
"public: class ATL::CStringT<char,class StrTraitMFC<char,class ATL::ChTraitsCRT<char> > >
__thiscall petMove::toString(void)"
Неразрешенный символ - это функция petMove::toString(void)
, часть ATL::CStringT< … >
- это тип возврата функции.Шестая ошибка относится к связанной функции petMove::getPartType(void)
, которая возвращает unsigned int
.
Предполагая, что petMove
является классом (или структурой), определенным в вашем проекте, возможно, проверка реализации этого класса покажетВы что-то об ошибке ссылки.
Например, реализации petMove::ToString
и petMove::getPartType
могут отсутствовать;или закомментировано;или с ошибкой #ifdef
.
Все остальные четыре отсутствующих символа являются конструкторами или деструкторами
CZoomView::CZoomView(void)
CZoomView::~CZoomView(void)
CDialogCurrentPhasor::CDialogCurrentPhasor(class CWnd *)
CDialogRunAnalysisFromFilePF::~CDialogRunAnalysisFromFilePF(void)
Возможно, в вашем проекте отсутствуют некоторые файлы реализации для CZoomView
, CDialogCurrentPhasor
и CDialogRunAnalysisFromFilePF
?В качестве альтернативы у вас может быть файл заголовка, который определяет конструкторы и / или деструкторы, которые файл вашей реализации .cpp не объявляет.
Например, этот заголовок определяет два конструктора ...
// CZoomView.h
class CZoomView
{
public:
CZoomView();
CZoomView(int);
// ...
};
… Но этот файл реализации объявляет только один из них…
// CZoomView.cpp
// Simulate missing ctor
//CZoomView::CZoomView()
//{
//}
CZoomView::CZoomView(int)
{
// ...
}
Эта комбинация успешно скомпилируется, но выдаст ошибку компоновщика LNK2019