У меня возникла проблема с составлением старого проекта MFC WIN CE в Windows 7 visual studio 2010. Я считаю, что старое приложение было скомпилировано во встроенной Visual Studio 4 и необходимо mfcce211.dll.ошибка LNK2019: неразрешенный внешний символ
Любой, кто, все исходные файлы управления для компиляции хорошо, но я получаю следующее сообщение об ошибке компоновщика:
error LNK2019: unresolved external symbol _VirtualCopy referenced in function "public: static void __cdecl CTX3922::Initialise(void)" ([email protected]@@SAXXZ)
VirtualCopy вызывается в CTX3922 :: Initialise, который находится в файле TX3922.cpp и имеет:
extern "C" {
BOOL VirtualCopy(LPVOID lpvDest, LPVOID lpvSrc, DWORD cbSize, DWORD fdwProtect);
}
свойства проекта являются:
- Использование MFC в общей библиотеке DLL
- Не Использование ATL поддержки
- Нет Common Language Runtime
Включение/NODEFAULTLIB выбрасывает много ошибок компоновщика, включая этот.
Я не могу найти декларацию VirtualCopy где-нибудь
Я недостающую библиотеку, если да, то есть в любом случае найти какую из них?
Большое спасибо
Вы ссылаетесь на Coredll.lib, как указано в [документации] (https://msdn.microsoft.com/en-us/library/aa450977.aspx)? Для какой платформы вы компилируете VS2010? Я не уверен, VS2010 может пересечь компиляцию для WIN CE. –
Спасибо, Как это узнать? Опция препроцессора указывает, что WIN32, макрос $ (OS) удержания windows_NT, оригинальная папка проекта говорит о проекте eVC 3/4. – moonraker
Я нашел его так же, как вы могли его найти, прочитав [документацию VirtualCopy] (https://msdn.microsoft.com/en-us/library/aa450977.aspx). «неразрешенный внешний символ» указывает большую часть времени, когда отсутствует какая-либо библиотека. –