Archived

This forum has been archived. Please start a new discussion on GitHub.

ICE warning LNK4217: locally defined symbol ??0exception@@QAE@ABV0@@Z (public: __this

I just got to know ICE! I think I am *very* interested in it.

I downloaded Ice-1.4.0-VC71.msi and installed it to c:\ice. I setup INCLUDE and LIB in VS.NET 2003. And I created a test DLL project (the Ice-1.4.0.pdf manual is too old, because now I have to create a DLL project rather than a standalone EXE project as the manual showcased). And though VS.NET has created two necessary predefined _USERDLL and _WINDLL, I have to define _DLL because ICE.h will complain if it is not there (bug in the header?).

But I get the following error when building the project (you can see it's a linker error, my code passed complilation):

ICE warning LNK4217: locally defined symbol ??0exception@@QAE@ABV0@@Z (public: __thiscall exception::exception(class exception const &)) imported in function "public: __thiscall std::logic_error::logic_error(class std::logic_error const &)" (??0logic_error@std@@QAE@ABV01@@Z)

Help....

Comments

  • bernard
    bernard Jupiter, FL
    You need to build with /MD or /MDd when using respectively release Ice libraries and debug libraries (iced.lib etc).

    The manual and the demos show how to build exes, because it's simple; but obviously it's possible to build DLLs as well. Also, if you want to export Slice definitions from a C++ DLL, you need to use the slice2cpp --dll-export option.

    Cheers,
    Bernard