C++ 错误LNK2019:未解析的外部符号
在windows 7 visual studio 2010中编译旧的MFC WIN CE嵌入式项目时遇到问题。我相信旧的应用程序是在嵌入式Visual Studio 4中编译的,需要mfcce211.dll 任何人,所有的源文件都可以很好地编译,但我得到了以下链接器错误:C++ 错误LNK2019:未解析的外部符号,c++,mfc,linker-errors,lnk2019,extern-c,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 CTX392
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
- 没有公共语言运行时支持
非常感谢VirtualCopy是一种Win-CE调用,用于在给定内存地址的情况下将物理内存复制到虚拟内存中,在win32中不可用。这种类型的调用不能在标准的C++用户模式应用程序中完成。我很可能需要一个设备驱动程序。谢谢您是否按照中的指定链接到Coredll.lib?您使用VS2010编译的是哪个平台?我不确定VS2010是否可以为WIN CE交叉编译。谢谢,我怎么才能找到答案?预处理器选项表示WIN32,$(OS)宏保存windows\n NT,原始项目文件夹表示eVC 3/4项目。我发现了它,正如您通过阅读<代码>未解析的外部符号在大多数情况下表示缺少某个库。