Search code examples
ice

About ICE-Chat Demo build


when i use VS2012 Express nmake the build about Ice-Chat(1.4.0)(http://www.zeroc.com/chat/download.html), i always get the error:

ChatRoom.obj : error LNK2001: Unresolved external symbol "__declspec(dllimport) public: __cdecl IceInternal::Cpp11FnCallbackNC::Cpp11FnCallbackNC(class std::function<void __cdecl(class IceUtil::Exception const &)> const &,class std::function<void __cdecl(bool)> const &)" (__imp_??0Cpp11FnCallbackNC@IceInternal@@QEAA@AEBV?$function@$$A6AXAEBVException@IceUtil@@@Z@std@@AEBV?$function@$$A6AX_N@Z@3@@Z)
ChatServer.obj : error LNK2001: Unresolved external symbol "__declspec(dllimport) public: __cdecl IceInternal::Cpp11FnCallbackNC::Cpp11FnCallbackNC(class std::function<void __cdecl(class IceUtil::Exception const &)> const &,class std::function<void __cdecl(bool)> const &)" (__imp_??0Cpp11FnCallbackNC@IceInternal@@QEAA@AEBV?$function@$$A6AXAEBVException@IceUtil@@@Z@std@@AEBV?$function@$$A6AX_N@Z@3@@Z)

what should i do? i have import the include files and libs ,but don't work. I want to know Cpp11FnCallbackNC is belong to which lib.


Solution

  • Ok here's the answer to this:

    When ICE is installed, say version 3.5.0, to

    ${ICEDIR} 
    

    you have the following directories:

    for VS 2010:
    ${ICEDIR}/lib
    for VS 2010 x64:
    ${ICEDIR}/lib/x64
    for VS 2012:
    ${ICEDIR}/lib/vc110
    for VS 2012 x64:
    ${ICEDIR}/lib/vc110/x64
    

    In your case you likely added the wrong library path