autolinking problem with iostream bzip2 and zlib filters -- DLLs needed for some reason? (updated)
From the link above it seems not to autolink of you have the
Hello, I am using the boost iostreams with the bzip2 qnd zlib filters. I built boost according to the directions here: http://www.boost.org/doc/libs/1_40_0/libs/iostreams/doc/installation.html This created the following libraries in the boost/stage/lib directory: libboost_bzip2-vc90-mt libboost_bzip2-vc90-mt-1_40 libboost_bzip2-vc90-mt-gd libboost_bzip2-vc90-mt-gd-1_40 libboost_zlib-vc90-mt libboost_zlib-vc90-mt-1_40 libboost_zlib-vc90-mt-gd libboost_zlib-vc90-mt-gd-1_40 now, here is the problem.. on every machien I usually do this on, it "autolinks" these libraries.. I have just started to build my code on a new machine, and for some reason it is not autolinking them. So to get my code to work I have to manually add them to my dependencies list and also add the directory where they are located. preprocessor variable BOOST_IOSTREAMS_NO_LIB defined, but I dont seem to have that defined anywhere. Does anyone know why these libraries may not be autolinked? Also, I just now noticed that I am required to have the bzip2 and zlib DLLs to run my application, when before I never needed them. Thanks! Christy
now, here is the problem.. on every machien I usually do this on, it "autolinks" these libraries.. I have just started to build my code on a new machine, and for some reason it is not autolinking them. So to get my code to work I have to manually add them to my dependencies list and also add the directory where they are located.
You always have to add the directory where they are located. Check that neither BOOST_ALL_NO_LIB nor BOOST_IOSTREAMS_NO_LIB are defined in your source that includes the iostream header. You could also try defining BOOST_LIB_DIAGNOSTIC which will print out which library is being selected for autolinking.
Also, I just now noticed that I am required to have the bzip2 and zlib DLLs to run my application, when before I never needed them.
There should be settings to disable those somewhere, not sure what they are though... and you can RTM as well as me ;-; HTH, John.
I'm not competent to present a review of the Boost MSM library, but I've been following it with interest since I discovered it at BoostCon. I've read very many mailing list exchanges between Christophe and users during this time. The MSM review hasn't generated a ton of traffic, and I'd like to contribute my comments for whatever they're worth.
What is your evaluation of the design? The Boost MSM library seems to be a well-designed implementation of state machine logic that is faithful to the UML standard in most areas and thoughtfully deviates from (or extends) it in a few places.
What is your evaluation of the implementation? I feel like the implementation is a clean example of modern C++ and abstracts state machine concepts quite well. The transition table in particular is implemented elegantly.
What is your evaluation of the documentation? Adequate
What is your evaluation of the potential usefulness of the library? Very useful... I expect to need this library for my work within the next 3-6 months
Did you try to use the library? I have not used the library.
How much effort did you put into your evaluation? A glance? A quick reading? In-depth study? Something more than a quick reading, yet well short of an in-depth study.
Are you knowledgeable about the problem domain? Not particularly.. I've handwritten small state machines for GUI programming in the past
As an additional comment, I believe Christophe himself typifies the best things about Boost. He has tirelessly worked on MSM and has been very supportive of users, incorporating many suggestions for improvement. MSM should definitely be included in Boost. Thanks Erik
John Maddock wrote:
now, here is the problem.. on every machien I usually do this on, it "autolinks" these libraries.. I have just started to build my code on a new machine, and for some reason it is not autolinking them. So to get my code to work I have to manually add them to my dependencies list and also add the directory where they are located.
You always have to add the directory where they are located.
Check that neither BOOST_ALL_NO_LIB nor BOOST_IOSTREAMS_NO_LIB are defined in your source that includes the iostream header. You could also try defining BOOST_LIB_DIAGNOSTIC which will print out which library is being selected for autolinking.
Also, I just now noticed that I am required to have the bzip2 and zlib DLLs to run my application, when before I never needed them.
There should be settings to disable those somewhere, not sure what they are though... and you can RTM as well as me ;-;
I believe this matter was resolved on IRC -- by nothing else than rebuilding boost_iostreams. So, the working theory is that some variables were not set during initial build. - Volodya
participants (4)
-
ChristinaGE
-
John Maddock
-
Nelson, Erik - 2
-
Vladimir Prus