I have a large CE workspace that I migrated from CE 4.0 to CE 5.0 using the built in conversion tool in VS 2005. When I try to compile any of the COM dll's I get the following series of linking messages:
1>UniversalDataForms.obj : error LNK2019: unresolved external symbol VarBstrCmp referenced in function "public: bool __cdecl ATL::CComBSTR::operator==(class ATL::CComBSTR const &)const " ( 8CComBSTR@ATL@@QBA_NABV01@@Z)
1>UniversalDataForms.obj : error LNK2019: unresolved external symbol TrackPopupMenu referenced in function "public: virtual long __cdecl CUniversalDataForms::SelectAndShowInputForm(long,long,short *)" ( SelectAndShowInputForm@CUniversalDataForms@@UAAJJJPAF@Z)
1>ARMV4Debug/SDTUniversalDataForms.dll : fatal error LNK1120: 2 unresolved externals
The documentation has not been any help in trying to determine which lib's to include in the project. Can you tell me which libraries I need to add to the Link input list
This code is being built for the PPC 2003 SDK.
Alicia

Undefined Externals, TrackPopupMenu and VarBstrCmp
Victor_Acosta
Jeff Abraham
Visual Studio
Monique555
I have not found atlosapi.dll anywhere on my PC or CE device.
I am trying to do a PPC2003 build using VS 2005 and test it on a CE 4.0 PPC 2003 device. Should this be possible or am I trying to do the impossible
Entity_X
Atlosapis.lib is a static library; it doesn't have an associated dll. I would start out by running depends.exe on the dll output of the project, and checking to ensure that all of your dependencies are present on the device (depends gets confused as to what "ATL80.dll" is getting pulled in, so don't trust imports that don't come out of your dll (i.e. don't look from MyFoo.dll to ATL.dll to kernel32.dll and assume that the missing dependency is kernel32.dll). It's possible that ATL and MFC aren't on the device, as they might not be added to a migrated project's additional deployment files list. If all the dependencies are present, I would start debugging this by creating an executable project that has a main method that simply attempts to call LoadLibrary with the path to your dll, and setting a breakpoint in the LoadLibrary method of the dll. Step through that code, and if it works, then start debugging the DllRegisterServer method. Hope this helps,
Jeff Abraham
Visual Studio
GlenAtMotorola
You need to link against atlosapis.lib (VarBstrCmp) and menu.lib (TrackPopupMenu). atlosapis.lib is new for VS2005 and includes functions that the ATL runtime expects to be present but which don't exist in the OS. It should be present in newly created projects, but it seems like there's a bug in the project migration wizard. Thanks,
Jeff Abraham
Visual Studio
Sean Lively
I will give atlosapis.lib a try.
I have not been able to find menu.lib anywhere on my system.
Alicia