LNK2019: unresolved external symbol __GSHandlerCheck

If you're a native C++ smart device developer and recently downloaded VS2005 SP1 you may find that some of your existing programs and some of the samples that ship with Windows Mobile SDK will fail to compile. Even if you're able to make them compile they may issue a warning like "warning LNK 4099: PDB 'libbmt.pdb was not found".

This is because VSD has updated the compilers for VS2005 SP1 to be on par with WinCE 6 compilers which included /GS support. So, for projects that don’t include libc/msvcrt or turn off /GS, you will run into these errors on pre-WinCE 6 platforms

As a workaround you should explicitly include "libcmt.lib" in the list of additional libs to link against and turn off the linker warning (/nowarn:4099).

Manav.

Comments

  • Anonymous
    March 09, 2007
    I am finding that while this allows me to link and run the application that when I run the application on a real WM5 device (a PPC-6700) the menus don't appear. The really odd thing is that menus show up when I run the app in the emulator. I used the btsearch example app to confirm that the problem was not in my code.

  • Anonymous
    November 06, 2007
    VS2005 SP1 安装后出现的问题及解决方法,SP1改进的地方?