Re: [sigc] trying to compile a static library version



Hi Gabriel!

Am Montag, 16. Juli 2007 16:27:15 schrieb Gabriel C.:
> I've been trying to compile a static library version of libsigc using MSVS.
> It compiles ok despite a few warnings.
>
> When i try to compile other libs that need libsigc they all complain about
> an undefined reference to functions inside libsigc (eg: error LNK2001:
> unresolved external symbol "__declspec(dllimport) public: __thiscall
> sigc::connection::~connection(void)")

IIRC a colleague of mine had a similar error with compiling our code using 
MSVC.  However, I might be wrong since he wrote today that his error is 
related to std::list, and he discovered the following comment in 
sigc++config.h:

  // MS VC7 Warning 4251 says that the classes to any member objects in an
  // exported class must be also be exported.  Some of the libsigc++
  // template classes contain std::list members.  MS KB article 168958 says
  // that it's not possible to export a std::list instantiation due to some
  // wacky class nesting issues, so our only options are to ignore the
  // warning or to modify libsigc++ to remove the std::list dependency.
  // AFAICT, the std::list members are used internally by the library code
  // and don't need to be used from the outside, and ignoring the warning
  // seems to have no adverse effects, so that seems like a good enough
  // solution for now.

So maybe sigc++ needs to get a workaround for this compiler bug.

Ciao, /  /
     /--/
    /  / ANS



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]