From: Tobias S. <tsc...@ne...> - 2005-04-10 16:06:39
|
I accidently sent my reply to Ralph instead to the list - it was actually intended to go here (especially because of that runtime issue mentioned in the last paragraph): -------- Original Message -------- Ralph Thomas wrote: >On Apr 8, 2005 2:04 PM, Tobias Schwinger <tsc...@ne...> wrote: > > >>All builds have been done via Boost.Jam and I had to tweak >>"boost/thread/detail/config.hpp" for static linkage because the >>BOOST_THREAD_DECL macro expands to an invalid DLL-import attribute (I >>guess this has to do with Boost.Build V2 since I never had this problem >>building Boost with V1. Does "proper mechanism" in the "new build >>structure" thread refer to using Boost.Build V1 for the Boost libraries >>? If so, this is probably already fixed in the Sandbox). >> >> > >We're still using Boost.Build V2, and I can't figure out how to make >Boost.Thread build without changing it's Jamfile. The change which I >have used is at the head of boost/libs/thread/build/Jamfile.v2 -- I >add "<link>static:<define>BOOST_THREAD_USE_LIB=1" under the similar >line for correctly making a DLL build. I don't know why Boost.Thread >doesn't respect the static linking flag in >sandbox/adobe-source/adobe/build -- all of the other boost libraries >seem to. > > ... or "BOOST_THREAD_USE_DLL" is defined accidently and "BOOST_THREAD_USE_LIB" is not considered by the config header beacause of this. >On the plus side, Foster has done a good job at making sure that >things build properly when using the *.vcproj files (with the IDE) -- >unfortunately I don't think that the VC++ Toolbox comes with a tool to >build from those. > > > >>All examples that can be built with MinGW work fine. The "visual" >>example cannot be built, due to the lack of XP-Theme support in the >>current MinGW distribution. However, I used 'uxtheme.h' (and "friends") >>from the Platform-SDK in order to ensure everything compiles fine >>(linking fails then). >> >> > >How does linking fail? I just removed the reference to uxtheme.lib >from the Jamfile because uxtheme.dll is opened dynamically now (so >that generated binaries run fine on Windows pre-XP). I'd really >appreciate it if you could try again with the current sandbox. > > It did not compile OOTB (see attached patch, I also removed most warnings while at it). Uxtheme dependencies are gone now. Further I had to adjust the Jamfile so GCC sees something like "-lgdi32 -luser32..." when linking (or it will find nothing at all). There was another problem with the Jamfile regarding the generation of the resource header (just disabled it for anything other than MSVC - probably the Boost.Build system does not know about the MinGW resource compiler). After the CVS update the GCC-compiled examples fail with a "syntax error exception". Please let me know in case there's anything I can do to help (and what to look for) tracking this down. Regards, Tobias |