Visual studio 旧VS代码未与新VS一起运行

Visual studio 旧VS代码未与新VS一起运行,visual-studio,visual-studio-2008,visual-c++,Visual Studio,Visual Studio 2008,Visual C++,我有一个老项目需要重温。它是在Visual C++(PROLLY 2005)的一些版本中构建的.SLN文件。由于某些损坏(dubug point-1),sln文件无法转换为VS2008解决方案。我将该文件夹作为新项目导入到VS中,并尝试编译 它给出了不存在的lang/Typedefs.h/Assertions.h“的编译错误。删除未声明的Uint8/16/32/64的声明时出现错误。因此,我添加了typedefs和其他宏(TOOLS\u UNUSED\u PARAMETERS(x)/TOOLS\

我有一个老项目需要重温。它是在Visual C++(PROLLY 2005)的一些版本中构建的.SLN文件。由于某些损坏(dubug point-1),sln文件无法转换为VS2008解决方案。我将该文件夹作为新项目导入到VS中,并尝试编译

它给出了不存在的lang/Typedefs.h/Assertions.h“的编译错误。删除未声明的Uint8/16/32/64的声明时出现错误。因此,我添加了typedefs和其他宏
(TOOLS\u UNUSED\u PARAMETERS(x)/TOOLS\u bank\u COPY())

解决了这个问题后,我得到了Gui/FileDlg.h和Gui/FolderDlg.h(调试点-2)的错误

我没有从任何在线资源或在我当前的VS安装中找到任何这些头文件,因此我假设代码丢失了,我将不得不重做它

甚至这些都可能是由早期的程序员定制实现的。当前MFC使用
CFileDialog
,代码使用
Gui::FileDlg

我暂时对代码进行了注释,以了解我可以从何处入手,因为gui在应用程序中并不是很重要的一部分。稍后,我看到链接器错误对应于regkeyonex调用和outputstream调用(dubug point-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
错误2错误LNK2019:未解析的外部符号\uuu imp__MessageBoxA@16 
在函数“public:class std::basic_ostream*u_uthiscall FileManager::getOutputStream(类接口)”中引用
*,类LogPoint*)“(?getOutputStream@FileManager@@QAEPAV?$basic_ostream@DU?
$char_traits@D@std@@@std@@@PAVInterface@@@PAVLogPoint@@@Z)filemanager.obj
PCAP发生器
我不是一个.Net程序员,所以你能建议一下这里的正确做法吗? 我应该关注哪些调试点。

是在
Advapi32.dll
中定义的Winapi函数。将它链接到VisualC++项目:

  • 如果您的项目是一个静态库(右键单击项目->
    Properties->Configuration Properties->Configuration Type->static library(.lib)
    ,转到
    Configuration Properties->librariar->General->added Dependencies
  • 如果您的项目是一个dll(相同的位置,改为
    Dynamic Library(.dll)
    ),您将有
    Linker
    部分而不是
    Library
    。转到其
    Input
    子部分,将
    Advapi32.lib
    添加到
    其他依赖项中

对于您的其余链接器错误,以相同的方式进行:转到函数的MSDN DOC,检查它所属的DLL/LIB,并将其链接到上面所述的项目。

< P>是在AdvAPI32 .DLL>代码>中定义的WiAPI函数。C++将其链接到Visual C++项目:

  • 如果您的项目是一个静态库(右键单击项目->
    Properties->Configuration Properties->Configuration Type->static library(.lib)
    ,转到
    Configuration Properties->librariar->General->added Dependencies
  • 如果您的项目是一个dll(相同的位置,改为
    Dynamic Library(.dll)
    ),您将有
    Linker
    部分而不是
    Library
    。转到其
    Input
    子部分,将
    Advapi32.lib
    添加到
    其他依赖项中

对于其余的链接器错误,请以相同的方式继续:转到函数的MSDN文档,检查它所属的dll/lib,并让您的项目按上述方式链接它。

这听起来不像.net代码,因此不是.net程序员也不会考虑到这一点。我一般不熟悉visual studio这听起来不像是like.net代码,所以不是一个.net程序员并不是其中的一个因素。我对generalI中的visual studio不太熟悉,为此添加了Winreg.h,然后就消失了。我不确定链接器错误:错误2错误LNK2019:未解析的外部符号\uuu imp__MessageBoxA@16在函数中引用“public:class std::basic_ostream*u thiscall FileManager::getOutputStream(类接口*,类日志点*)”(?getOutputStream@FileManager@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@PAVInterface@@@PAVLogPoint@@@Z)filemanager.obj pcapGeneratorName idea;MessageBoxA是该函数的一个变体,在User32.lib中定义。将其链接到您的项目中。我为此添加了Winreg.h,但它消失了。我不确定链接器错误:错误2错误LNK2019:未解析的外部符号\uu imp__MessageBoxA@16在函数中引用”public:class std::basic_ostream*uu thiscall FileManager::getOutputStream(类接口*,类日志点*)“(?getOutputStream@FileManager@@QAEPAV?$basic_ostream@DU?$char_traits@D@std@@@std@@@PAVInterface@@@PAVLogPoint@@@Z)filemanager.obj pcapGeneratorName idea;MessageBoxA是该函数的一个变体,在User32.lib中定义。将其链接到项目中。