编译的时候程序会提示这样的错误:skymobile_v4Peizhi.obj : error LNK2019: 无法解析的外部符号 SHBrowseForFolder,该符号在函数 "public: void __cdecl skymobile_v4Peizhi::OnBnClickedRouteselect(void)" (?OnBnClickedRouteselect@skymobile_v4Peizhi@@QAAXXZ) 中被引用
1>Pocket PC 2003 (ARMV4)\Release\skymobile_v4.exe : fatal error LNK1120: 1 个无法解析的外部命令
请问是什么原因呢?
头文件:#include "ShlObj.h"我已经包含了,#pragma   comment(lib,"Ceshell.lib")我也加了,不知道错在哪?请哪位高手不吝指点一二,谢谢!

解决方案 »

  1.   

    wince?那个可能不一定有这个函数........................
      

  2.   

    wince?注释掉SHBrowseForFolder编译有问题没?
      

  3.   

    刚查了下,有,不过要wince 4.0版本以上才能用..........版本对不对......
      

  4.   

    是不是用#if (_WIN32_WCE == 211)
          //Your code;
    #endif#if (_WIN32_WCE >= 200)
          //Your code;
    #endif#if (_WIN32_WCE < 300)
          //Your code;
    #endif来判断WINCE的版本啊?
      

  5.   

    没做过CE程序。可能是你的开发包版本太低,实在不行就用LoadLibrary、GetProcAddress来获取函数地址。
      

  6.   

    LSD能不能给点例子呢?谢谢!
      

  7.   

    Windows中大概写法如下:
    typedef LPITEMIDLIST (WINAPI *FSHBFF)(LPBROWSEINFO lpbi);
    HMODULE lib = LoadLibrary(_T("shell32.dll"));
    FSHBFF SHBrowseForFolder = (FSHBFF)GetProcAddress(lib, "SHBrowseForFolder");
    SHBrowseForFolder(……
    FreeLibrary(lib);
    CE中的DLL名称可能要改一下。