AV UPnP control point LINK ERROR !!!

Hi!

I try to compile AV UPnP Control point sampel from Windows CE 5.0

distribution outside Platform Builder , in VS 2005 . The

SDK is for a MIPSII architecture but I 'm

problems with linkage . I use debug version for my project

, and of cource debug version for library modules.I checked the library

modules paths and all are ok. From Platform Builder all

worked ok.I guessed thsse errors come from real time debug

support .I don't have another idea
The Ouput :

/--

Error

1 error LNK2001: unresolved external symbol

_CrtDbgReportW atlsd.lib

Error

2 error LNK2001: unresolved external symbol

_CrtDbgReportW atlsd.lib

Error

3 error LNK2001: unresolved external symbol

_CrtDbgReportW atlsd.lib

Error

4 error LNK2001: unresolved external symbol

_CrtDbgReportW atlsd.lib

Error

5 error LNK2001: unresolved external symbol

_CrtDbgReportW atlsd.lib

Error

6 error LNK2019: unresolved external symbol

_CrtDbgReportW referenced in function "public: unsigned short &

__cdecl ATL::CSimpleArray<unsigned short,class

ATL::CSimpleArrayEqualHelper<unsigned short>

>::operator[](int)"

(?A?$CSimpleArray@GV?$CSimpleArrayEqualHelper@G@ATL@@@ATL@@QAAAAGH@Z)

stdafx.obj

Error

7 error LNK2001: unresolved external symbol

_CrtDbgReportW upnpavctrl.obj

Error

8 error LNK2001: unresolved external symbol

_CrtDbgReportW atlsd.lib

Error

9 error LNK2001: unresolved external symbol

_CrtDbgReportW atlsd.lib

Error

10 error LNK2001: unresolved external symbol

__CxxFrameHandler3 stdafx.obj

Error

11 error LNK2001: unresolved external symbol

__CxxFrameHandler3 upnpavctrl.obj

Error

12 error LNK2019: unresolved external symbol "public:

bool __cdecl av_upnp::DIDL_Lite::parser::GetFirstObject(wchar_t const

*,struct av_upnp::DIDL_Lite::object *)"

(?GetFirstObject@parser@DIDL_Lite@av_upnp@@QAA_NPB_WPAUobject@23@@Z)

referenced in function "public: void __cdecl

player::search_for_each(wchar_t const *,enum player::OPERATION,wchar_t

const *)"

(?search_for_each@player@@QAAXPB_WW4OPERATION@1@0@Z)

upnpavctrl.obj

Error

13 error LNK2019: unresolved external symbol "public:

bool __cdecl av_upnp::DIDL_Lite::object::GetProperty(wchar_t const

*,class ce::_string_t<wchar_t,16,struct

ce::char_traits<wchar_t>,class ce::allocator> *,unsigned

long)"

(?GetProperty@object@DIDL_Lite@av_upnp@@QAA_NPB_WPAV?$_string_t@_W$0BA@U?$char_traits@_W@ce@@Vallocator@2@@ce@@K@Z)

referenced in function "public: void __cdecl player::play(struct

av_upnp::DIDL_Lite::object &)"

(?play@player@@QAAXAAUobject@DIDL_Lite@av_upnp@@@Z)

upnpavctrl.obj

Error

14 error LNK2019: unresolved external symbol "public:

unsigned long __cdecl

av_upnp::MediaRendererDevice::GetConnectionManager(class

av_upnp::IConnectionManager * *,class

ce::_string_t<wchar_t,16,struct ce::char_traits<wchar_t>,class

ce::allocator> *)"

(?GetConnectionManager@MediaRendererDevice@av_upnp@@QAAKPAPAVIConnectionManager@2@PAV?$_string_t@_W$0BA@U?$char_traits@_W@ce@@Vallocator@2@@ce@@@Z)

referenced in function "protected: bool __cdecl

player::check_connection_manager(void)"

(?check_connection_manager@player@@IAA_NXZ)

upnpavctrl.obj

Error

15 error LNK2019: unresolved external symbol

memmove_s referenced in function "void __cdecl

ATL::Checked::memmove_s(void *,unsigned int,void const *,unsigned int)"

(?memmove_s@Checked@ATL@@YAXPAXIPBXI@Z)

atlsd.lib

Error

16 error LNK2001: unresolved external symbol

memmove_s atlsd.lib

Error

17 error LNK2019: unresolved external symbol wcscpy_s

referenced in function AtlTraceGetProcessInfo

atlsd.lib

Error

18 error LNK2019: unresolved external symbol

wcsncpy_s referenced in function

AtlTraceGetProcessInfo atlsd.lib

Error

19 error LNK2001: unresolved external symbol

wcsncpy_s atlsd.lib

Error

20 fatal error LNK1120: 8 unresolved

externals TelegentNet

//

Can somebody help me?

Thank you.

[5557 byte] By [cosmin27] at [2007-12-24]
# 1
Given the current situation with VC, SDK and runtime libraries I suggest that you stick with PB compile.
AlexFeinman at 2007-8-31 > top of Msdn Tech,Smart Device Development,Smart Devices Native C++ Development...
# 2

I agree with Alex as this is a sample from the OAK subtree.

Your unresolved externals are cause by ATL (referencing C/C++ runtime library functions). Adding the appropriate C/C++ runtime libraries as additional link libs should help.

MichaelKoster at 2007-8-31 > top of Msdn Tech,Smart Device Development,Smart Devices Native C++ Development...
# 3
I use these library paths :

E:\WINCE500\PBWorkspaces\TelegentNet\WINCE500\Telegent_MIPSII\cesysgen\

sdk\lib\MIPSII\debug

E:\WINCE500\PBWorkspaces\TelegentNet\WINCE500\Telegent_MIPSII\cesysgen

\oak\lib\MIPSII\debug

and additional library : av_upnp.lib -> copiled from Platform Builder in debug version

The error is couse by ATL , project use default library :

coredll.lib

corelibc.lib

ole32.lib

oleaut32.lib

uuid.lib
I suspect the necessity of other library , but in the source file from

platform builder is not specified

cosmin27 at 2007-8-31 > top of Msdn Tech,Smart Device Development,Smart Devices Native C++ Development...
# 4

The line WINCEATL30=1 tells the build system to include the ATL from $(_WINCEROOT)\others\atl
Make surre you link against this version of the ATL.

MichaelKoster at 2007-8-31 > top of Msdn Tech,Smart Device Development,Smart Devices Native C++ Development...
# 5
I solved the ATL problem with libcmtd.lib but still I have unexpected link error in av_upnp.lib:

Error 1

error LNK2019: unresolved external symbol "public: unsigned long

__cdecl av_upnp::MediaRendererDevice::GetConnectionManager(class

av_upnp::IConnectionManager * *,class

ce::_string_t<wchar_t,16,struct ce::char_traits<wchar_t>,class

ce::allocator> *)"

(?GetConnectionManager@MediaRendererDevice@av_upnp@@QAAKPAPAVIConnectionManager@2@PAV?$_string_t@_W$0BA@U?$char_traits@_W@ce@@Vallocator@2@@ce@@@Z)

referenced in function "protected: bool __cdecl

player::check_connection_manager(void)"

(?check_connection_manager@player@@IAA_NXZ)

upnpavctrl.obj


Error

2 error LNK2019: unresolved external symbol

"public: bool __cdecl av_upnp::DIDL_Lite::object::GetProperty(wchar_t

const *,class ce::_string_t<wchar_t,16,struct

ce::char_traits<wchar_t>,class ce::allocator> *,unsigned

long)"

(?GetProperty@object@DIDL_Lite@av_upnp@@QAA_NPB_WPAV?$_string_t@_W$0BA@U?$char_traits@_W@ce@@Vallocator@2@@ce@@K@Z)

referenced in function "public: void __cdecl player::display(struct

av_upnp::DIDL_Lite::object &)"

(?display@player@@QAAXAAUobject@DIDL_Lite@av_upnp@@@Z)

upnpavctrl.obj


Error 3

error LNK2019: unresolved external symbol "public: bool __cdecl

av_upnp::DIDL_Lite::parser::GetFirstObject(wchar_t const *,struct

av_upnp::DIDL_Lite::object *)"

(?GetFirstObject@parser@DIDL_Lite@av_upnp@@QAA_NPB_WPAUobject@23@@Z)

referenced in function "public: void __cdecl

player::browse_for_each(enum player::OPERATION,wchar_t const *)"

(?browse_for_each@player@@QAAXW4OPERATION@1@PB_W@Z)

upnpavctrl.obj
I checked the signatures of the functions all is ok .

you have other idea?

Thank you!

cosmin27 at 2007-8-31 > top of Msdn Tech,Smart Device Development,Smart Devices Native C++ Development...