У меня есть проект, который мне нужен для работы на C++ в VS2010 под Windows 7. Проект был первоначально разработан для работы на WinCE. Он был разработан в VC++, но связан с некоторыми библиотеками, используемыми в среде WinCE.Сопоставление виртуального адреса с физическим адресом
Проект использует :: VirtualCopy, который не удается скомпилировать, поскольку я считаю, что он находится в Coredll.lib. в среде WinCE. https://msdn.microsoft.com/en-us/library/aa450977.aspx
error LNK2028: unresolved token (0A000B85) "extern "C" int __cdecl VirtualCopy(void *,void *,unsigned long,unsigned long)" ([email protected]@[email protected]) referenced in ..
error LNK2019: unresolved external symbol "extern "C" int __cdecl VirtualCopy(void *,void *,unsigned long,unsigned long)" ([email protected]@[email protected]) referenced in ..
функция в моем коде является ссылка через:
extern "C"
{
BOOL VirtualCopy(LPVOID lpvDest, LPVOID lpvSrc, DWORD cbSize, DWORD fdwProtect);
}
А затем использовали:
if(! ::VirtualCopy(pVMem, reinterpret_cast<void *>(dwASIC_REGISTERS_BASE), tSystemInfo.dwPageSize, PAGE_READWRITE | PAGE_NOCACHE))
{
DWORD dwError = ::GetLastError();
TRACE1("Failed ", dwError);
return;
}
Проекты, использует:
- MFC в общей dll
- Статическая ссылка на ATL
- Поддержка среды CLR (/ CLR)
У меня есть несколько вопрос:
- Есть ли альтернатива?
- Можно ли каким-либо образом импортировать некоторые старые библиотеки winCE и связать их с теми, которые позволяют мне использовать эту функцию?
Любая помощь будет принята с благодарностью
Большое спасибо
Я не могу сказать, но, похоже, в Windows CE это была функция режима ядра, а не функция пользовательского пространства.Вероятно, это причина, по которой у вас ее нет при создании приложений пользовательского пространства в среде Windows на рабочем столе. –