Re: [sigc] trying to compile a static library version
- From: Hans Meine <meine informatik uni-hamburg de>
- To: libsigc-list gnome org
- Subject: Re: [sigc] trying to compile a static library version
- Date: Mon, 30 Jul 2007 21:04:09 +0200
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
[
Date Prev][Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]