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

error LNK2019: unresolved external symbol

本文关键字:外部 符号 LNK2019 错误      更新时间:2023-10-16

我在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)

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

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

项目属性包括:

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

启用/NODEFAULTLIB 会抛出很多链接器错误,包括这个错误。

我在任何地方都找不到虚拟副本的声明

我缺少一个图书馆,如果是这样,有没有办法找出哪个?

非常感谢

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