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



On Mon, 2007-07-30 at 18:45 +0200, Hans Meine wrote:
> 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.

What's this for? I hope it's open source.

> >
> > 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.

Maybe. Patches are welcome.

In general, I believe that the non-static Visual Studio build works fine
for gtkmm.

-- 
Murray Cumming
murrayc murrayc com
www.murrayc.com
www.openismus.com




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