locked
UUID.LIB and DXGUID.LIB have some same symbols

    Question

  • UUID.LIB and DXGUID.LIB has some same symbols

    Like

    dxguid.lib(d3d10guid.obj) : ERROR LINKXXX   : _IID_ITextStoreAnchorSink already defined in uuid.lib(textstor_interface.obj)

    Why is dx10 obj needed , and TSF belongs to DX?

    So I have to use compiler swith /FORCE ?


    ( tested with RTMs )
    • Edited by Raptor K Friday, August 17, 2012 3:19 AM
    Friday, August 17, 2012 3:07 AM

Answers

  • Hello,

    This has a simple solution. Please specify the following link order:

    dxguid.lib
    d2d1.lib
    d3d11.lib
    dxgi.lib
    ole32.lib
    windowscodecs.lib
    dwrite.lib
    uuid.lib

    I hope this helps,

    James


    Windows Media SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Friday, August 24, 2012 12:23 AM
    Moderator

All replies

  • Hello,

    Can you repost the overlapping symbols again please? They did not show up in your post.

    -James


    Windows Media SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Tuesday, August 21, 2012 12:30 AM
    Moderator
  • 4>dxguid.lib(d3d10guid.obj) : error LNK2005: _IID_ITextStoreAnchorSink already defined in uuid.lib(textstor_interface.obj)
    4>dxguid.lib(d3d10guid.obj) : error LNK2005: _IID_ITextStoreACP already defined in uuid.lib(textstor_interface.obj)
    4>dxguid.lib(d3d10guid.obj) : error LNK2005: _IID_ITextStoreACPSink already defined in uuid.lib(textstor_interface.obj)
    4>dxguid.lib(d3d10guid.obj) : error LNK2005: _IID_IAnchor already defined in uuid.lib(textstor_interface.obj)
    4>dxguid.lib(d3d10guid.obj) : error LNK2005: _IID_ITextStoreAnchor already defined in uuid.lib(textstor_interface.obj)

    Seems using D2D Effect and TSF interfaces(GUID) in one project will cause this link error.


    C++ DX11



    • Edited by Raptor K Tuesday, August 21, 2012 2:03 AM
    Tuesday, August 21, 2012 1:52 AM
  • Hello,

    Is this issue blocking you? Can you ignore lib to get it to work?

    I do see in the source some indication that these IID may be included in both libraries. Unfortunately it is a bit difficult for me to be 100% certain. Can you please provide a simple sample app that shows the issue and put it up on Skydrive? I will take a look and try to confirm this behavior.

    Thanks,

    James


    Windows Media SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Wednesday, August 22, 2012 10:39 PM
    Moderator
  • Not blocking me, but I have to add "/FORCE" switch.

    Sample here, https://skydrive.live.com/?cid=62c178358aee6cc2&id=62C178358AEE6CC2!130  , use debug mode.


    C++ DX11

    Thursday, August 23, 2012 2:52 AM
  • Hello,

    This has a simple solution. Please specify the following link order:

    dxguid.lib
    d2d1.lib
    d3d11.lib
    dxgi.lib
    ole32.lib
    windowscodecs.lib
    dwrite.lib
    uuid.lib

    I hope this helps,

    James


    Windows Media SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Friday, August 24, 2012 12:23 AM
    Moderator
  • Thank you.

    This works for that sample , but not work for my project.

    If it has been fixed, please inform me.


    C++ DX11

    Friday, August 24, 2012 2:29 AM
  • Hello,

    Are you sure that you did a "rebuild all"? Are you getting a different set of multiply defined symbols now?

    -James


    Windows Media SDK Technologies - Microsoft Developer Services - http://blogs.msdn.com/mediasdkstuff/

    Friday, August 24, 2012 10:32 PM
    Moderator
  • Yes. I've tried "Rebuild Solution",


    C++ DX11

    Friday, August 24, 2012 11:58 PM