我正在尝试为windows mobile(pre-windows phone 7)创建一个示例项目。我在VS 2008中创建了一个Win32设备项目,并且安装了Windows Mobile SDKs。我用下面的示例代码替换主函数存根,但无法用两个链接器错误构建。我猜这是一些配置错误或构建设置错误,但我不知道在哪里看。我已经构建了很少的C++项目,并且我不熟悉不同的选项。任何人都可以提出任何可能有所帮助无法为windows mobile创建C++项目
来自Auto-launching CF apps with the HKLM\Init Registry Key
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"
我找不到文件。
任何想法? 谢谢, brian
Kfuncs.h不附带WM SDK,仅适用于Platform Builder。 – 2011-02-01 18:25:18