错误LNK2019:未解析的外部符号

时间:2015-04-24 11:59:30

标签: c++ mfc linker-errors lnk2019 extern-c

我在Windows 7 visual studio 2010中编译旧的MFC WIN CE嵌入式项目时遇到了问题。我相信旧的应用程序是在嵌入式Visual Studio 4中编译的,需要mfcce211.dll。

任何人,所有源文件都设法编译好但我收到以下链接器错误:

error LNK2019: unresolved external symbol _VirtualCopy referenced in function "public: static void __cdecl CTX3922::Initialise(void)" (?Initialise@CTX3922@@SAXXZ)

在CTX3922 :: Initialise中调用VirtualCopy,它位于文件TX3922.cpp中并保存:

extern "C" {
              BOOL VirtualCopy(LPVOID lpvDest, LPVOID lpvSrc, DWORD cbSize, DWORD fdwProtect);
           }

项目属性是:

  • 在共享DLL中使用MFC
  • 不使用ATL
  • 没有公共语言运行时支持

启用/ NODEFAULTLIB会引发大量链接器错误,包括此错误。

我无法在任何地方找到VirtualCopy的声明

我错过了一个图书馆,如果是的话,无论如何都找不到哪个?

非常感谢

1 个答案:

答案 0 :(得分:0)

VirtualCopy是一个Win CE调用,用于在给定内存地址的情况下将物理内存复制到虚拟内容,但在win32中不可用。这种类型的调用无法在标准的c ++ usermode应用程序中完成。我最需要一个设备驱动程序。感谢