0

我在 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 在文件 TX3922.cpp 中的 CTX3922::Initialise 中被调用,并包含:

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

项目属性为:

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

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

我在任何地方都找不到 VirtualCopy 的声明

我错过了一个图书馆,如果是这样,有没有找到哪一个?

非常感谢

4

1 回答 1

0

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

于 2015-05-08T11:27:58.817 回答