Friday 27 February 2009

Can't find import 2508 in coredll.dll using Windows CE 5.0

Hello guys,

during build of Windows CE 5.0 image I got the following error:
Error: Can't find import 2508 in coredll.dll

This message indicates that some symbols required by the components of the Windows CE Image have "unresolved" symbols. Usually the easiest way to find out the missing function names is to check the correspondig *.def file.
In our case: coredll.def, it can be find under:
%WINCEROOT%\PUBLIC\COMMON\OAK\LIB\%CPU%\...
Open the coredll.def and check wich function has ordinal number 2508. "Usually" :) you fill find the number, the name of the required function and name of the SYSGEN variable and this is the hint for you which catalog item is missing in you Windows CE Image.

But ...
in our case (= ordinal numer 2508), under circumstances you won't find this ordinal number in your coredll.def file.
The ordinal numer 2508 represents "CeSafeCopyMemory" function which is already included in CE 6.0, but not supported "out of the box" in CE 5.0.

But ...
the "CeSafeCopyMemory" function has been added to the coredll.def file by MS thru the QFE (May 2008). Unfortunately this *.def file "update" was not mentioned in the corresponding QFE summary htm file or the list of "modified" source files (which is displayed after succesful QFE installation).

Summary:
if you're missing the ordinal numer 2508 in your Windows CE Image, then install the dedicated QFE (May 2008) or even better install the yearly QFE package which includes all QFEs!
This problem shows again how important is the installation of the latest QFEs just to keep your Windows CE environment up to date!

Thanks!

No comments: