Am Montag, 30. Juli 2007 19:02:52 schrieben Sie: > > // 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.
Our problem *is* with a non-static build. I don't know MSVC myself, but here is the error message that my colleague gets (sorry for the German parts, it says "reference to not resolved external symbol ... in function ..."): cppmapmodule.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) protected: class std::list<class sigc::slot_base,class std::allocator<class sigc::slot_base> >::_Iterator<0> __thiscall sigc::signal_base::connect(class sigc::slot_base const &)" in Funktion ""public: struct sigc::slot_iterator<class sigc::slot<bool,class GeoMap::Node &,struct sigc::nil,struct sigc::nil,struct sigc::nil,struct sigc::nil,struct sigc::nil,struct sigc::nil> > __thiscall sigc::signal1<bool,class GeoMap::Node &,struct interruptable_accumulator>::connect(class sigc::slot<bool,class GeoMap::Node &,struct sigc::nil,struct sigc::nil,struct sigc::nil,struct sigc::nil,struct sigc::nil,struct sigc::nil> const &)" The commandline composed by MSVC contains the following flags for compilation: cl /O2 /I ... /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_USRDLL" /D "_CRT_SECURE_NO_DEPRECATE" /D "_SECURE_SCL=0" /D "_VC80_UPGRADE=0x0710" /D "_WINDLL" /D "_MBCS" /GF /FD /EHsc /MD /Gy /Fp"\Release/hourglassmodule.pch" /Fo".\Release/" /Fd".\Release/" /W3 /nologo /c /errorReport:prompt And the following linker flags: link /OUT:"hourglass.pyd" /INCREMENTAL:NO /NOLOGO /LIBPATH:"C:\Programme\Python2.5\libs" /LIBPATH:"C:\ukoethe\lib" /DLL /MANIFEST /MANIFESTFILE:".\Release\hourglass.pyd.intermediate.manifest" /PDB:".\Release/hourglassmodule.pdb" /IMPLIB:".Release/hourglassmodule.lib" /ERRORREPORT:PROMPT ..\..\interactive2\src\vigracmodule\Release\pythonimage.obj boost_python-vc80-mt-1_34_1.lib sigc-2.0.dll.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib It would be cool if someone knew what triggers that error. -- Ciao, / / /--/ / / ANS _______________________________________________ libsigc-list mailing list libsigc-list@gnome.org http://mail.gnome.org/mailman/listinfo/libsigc-list