我有一个旧项目需要重新审视。它是在查看 .sln 文件的某些版本的 Visual C++(prolly 2005)中构建的。由于某些损坏(重复错误点 -1),sln 文件不会转换为 VS 2008 解决方案。我将VS中的文件夹作为新项目导入并尝试编译。
"lang/Typedefs.h/Assertions.h"
它给出了不存在的编译错误。删除声明我对未声明的 Uint8/16/32/64 有错误。所以我添加了 typedefs 和其他宏(TOOLS_UNUSED_PARAMETERS(x) / TOOLS_FORBID_COPY())
。
解决这个问题后,我得到了 Gui/FileDlg.h 和 Gui/FolderDlg.h 的错误(调试点 - 2)。
我没有从任何在线资源或我当前的 VS 安装中找到任何这些头文件,所以我假设代码丢失了,我将不得不重做它。
甚至这些也可能是早期程序员自定义实现的。当前 MFC 使用CFileDialog
和代码使用 Gui::FileDlg
.
我暂时注释掉了代码,看看我可以去哪里,因为 gui 不是应用程序的那么大的一部分。后来我看到与 RegKeyOpenEx 调用和输出流调用相对应的链接器错误(重复错误点 -3)。Winreg.h 不包括在内,但 windows.h 包括在内。
样本 :
Error 2 error LNK2019: unresolved external symbol __imp__MessageBoxA@16
referenced in function "public: class std::basic_ostream<char,struct
std::char_traits<char> > * __thiscall FileManager::getOutputStream(class Interface
*,class LogPoint *)" (?getOutputStream@FileManager@@QAEPAV?$basic_ostream@DU?
$char_traits@D@std@@@std@@PAVInterface@@PAVLogPoint@@@Z) filemanager.obj
PCAPGenerator
我不是 .Net 程序员,所以你能建议这里的正确做法吗?我应该关注哪些调试点。