Я пытаюсь создать пример проекта для Windows Mobile (до Windows Phone 7).Я создал проект устройства Win32 в VS 2008, и у меня установлены Windows Mobile SDK.Я заменяю заглушку основной функции следующим примером кода, но он не может быть собран с двумя ошибками компоновщика.Я предполагаю, что это какая-то ошибка конфигурации или ошибка настроек сборки, но я не знаю, где искать.Я построил очень мало C ++ проектов, и я не знаком с различными вариантами.Кто-нибудь может предложить что-нибудь, что может помочь?
Взято из: Автоматический запуск приложений CF с ключом реестра HKLM \ Init
extern "C" DWORD WaitForAPIReady(DWORD, DWORD);
extern "C" BOOL IsAPIReady(DWORD hAPI);
int _tmain(int argc, _TCHAR* argv[])
{
// quick sanity check - HKLM\Init will send in our order number
if(argc == 0) return 0;
BOOL success = FALSE;
// wait for window manager - that should be enough for us
#if _WIN32_WCE > 0x500
success = (WaitForAPIReady(SH_WMGR, 5000) == WAIT_OBJECT_0);
#else
int i = 0;
while((! IsAPIReady(SH_WMGR)) && (i++ < 50))
{
Sleep(100);
}
success = (i < 50);
#endif
if(success)
{
int launchCode = _ttoi(argv[1]);
SignalStarted(launchCode);
}
else
{
RETAILMSG(TRUE, (_T("CFInitGate timed out - SH_WMGR was not ready after 5 seconds\r\n")));
}
return 0;
}
И ошибки компоновщика, которые я вижу:
- Ошибка 1, ошибка LNK2019: неразрешенный внешний символ WaitForAPIReady, на который ссылается функция wmain LaunchGate.obj LaunchGate
- Ошибка 2: фатальная ошибка LNK1120: 1 неразрешенная внешняя версия Windows Mobile 6 Standard SDK LaunchGate
В соответствии с документацией WaitForAPIReady мне нужно включить kfuncs.h
, а в соответствии с документацией IsAPIReady я должен использовать windev.h
.Когда я #include "kfuncs.h"
я не получаю синтаксических ошибок, но компоновщик все еще жалуется.Когда я #include "windev.h"
получаю файл не найден.
Есть идеи?спасибо, Брайан