tag:blogger.com,1999:blog-26653368.post5632940848553059842..comments2022-03-05T01:47:39.748+05:30Comments on Tech Musings and Assorted Thoughts: Getting Started with BoostUnknownnoreply@blogger.comBlogger13125tag:blogger.com,1999:blog-26653368.post-47395379913549155222020-11-25T14:45:09.897+05:302020-11-25T14:45:09.897+05:30I read this paragraph completely about the compari...I read this paragraph completely about the comparison of latest and previous technologies, it's remarkable article.erectile dysfunction treatmenthttps://besterectiledysfunctionpills.com/noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-52255326134810067152020-11-25T14:22:45.869+05:302020-11-25T14:22:45.869+05:30Hi there I am so happy I found your web site, I re...Hi there I am so happy I found your web site, I really found you by error, while I was searching on Google for something else, Anyways I am here now and would just like to say thank you for a incredible post and a all round entertaining blog (I also love the theme/design), I don't have time to go through it all at the moment but I have bookmarked it and also included your RSS feeds, so when I have time I will be back to read a great deal more, Please do keep up the fantastic job.erectile dysfunction pillshttps://besterectiledysfunctionpills.com/noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-70028887474605410372010-07-07T02:51:52.565+05:302010-07-07T02:51:52.565+05:30I want to use the dynamic boost libraries, so I...I want to use the dynamic boost libraries, so I'm trying to link using the /DBOOST_ALL_DYN_LINK. But, still I get the error "cannot open file libboost_*". Please note that the import libraries are generated with the filenames boost_*. I can get it working only by renaming the filenames from boost_* to libboost_*. Does anyone know how to solve this problem.<br /><br />Thanks,<br />RejiUnknownhttps://www.blogger.com/profile/02764347817952654395noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-54286876258988533392010-07-06T20:21:20.770+05:302010-07-06T20:21:20.770+05:30I want to use the dynamic boost libraries, so I...I want to use the dynamic boost libraries, so I'm trying to link using the /DBOOST_ALL_DYN_LINK. But, still I get the error "cannot open file libboost_*". Please note that the import libraries are generated with the filenames boost_*. I can get it working only by renaming the filenames from boost_* to libboost_*. Does anyone know how to solve this problem.<br /><br />Thanks,<br />RejiUnknownhttps://www.blogger.com/profile/02764347817952654395noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-26516431999623218642009-02-24T21:31:00.000+05:302009-02-24T21:31:00.000+05:30great article !great article !Unknownhttps://www.blogger.com/profile/14135704060533937655noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-73962457213176148122009-01-04T06:12:00.000+05:302009-01-04T06:12:00.000+05:30This is single-handedly the most awesome article I...This is single-handedly the most awesome article I've read in a long time. So much care and dedication went into writing it - thank you! Everything is thought through, and it works in the end.<BR/><BR/>Like chan, although I can write a long, tedious "g++ ..." line to get a simple boost example to work, I'm having trouble creating a make file to make things easier. This is mainly because I've never really used make files.<BR/><BR/>Thanks again.Asim Ihttps://www.blogger.com/profile/01281633315852428480noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-37073979937151346832008-12-08T00:49:00.000+05:302008-12-08T00:49:00.000+05:30One clarification - if BOOST_BIN_ROOT is an enviro...One clarification - if BOOST_BIN_ROOT is an environment variable then, in the Makefile, you should write:<BR/><BR/>$$BOOST_BIN_ROOT<BR/><BR/>instead of $(BOOST_BIN_ROOT). However, if BOOST_BIN_ROOT is a Makefile variable, then $(BOOST_BIN_ROOT) works.Arindam Mukherjeehttps://www.blogger.com/profile/05966433815221748351noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-2042314919913702692008-12-07T23:59:00.000+05:302008-12-07T23:59:00.000+05:30Hello Chan, thanks for the kind words. The Boost w...Hello Chan, thanks for the kind words. The Boost website - http://boost.org, has everything - of course you need to search through it. Besides, the Boost documentation is quite elaborate.<BR/><BR/>Now for the specific questions - when you built Boost using bjam, did you specify the "install" target like the following:<BR/><BR/><B>bjam</B> threading=multi variant=release link=shared toolset=gcc --build-dir=$BOOST_BIN_ROOT <B>--prefix=/opt/boost</B> --without-python <I><B>--without-mpi install</B></I><BR/><BR/>If you specified the above highlighted portions, then after building, all your version 1.37 boost libraries should have been copied to /opt/boost/lib. You can choose any directory in place of /opt/boost - say /home/chan/boost. In that case, all your libraries would be installed under /home/chan/boost/lib. So check what command-line you used to build it and install it. Unless you specified:<BR/><BR/>--prefix=/usr<BR/><BR/>you won't find your 1.37 libraries under /usr/lib.<BR/><BR/>Make sure you understand each and every step that you carry out. Second, try to build the Boost libraries without the optional packages. You can hide all the details about optional packages in article. Try to do that - it will be simpler.Arindam Mukherjeehttps://www.blogger.com/profile/05966433815221748351noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-51817824749350835132008-12-06T14:09:00.000+05:302008-12-06T14:09:00.000+05:30And I think I probably did wrong at some points. I...And I think I probably did wrong at some points. I check under usr/lib, but I only found libboost of version 1.35, which is the one that I installed using Synaptic Package Manager. The version that I want to install is version 1.37.0 ! :( So sad ! Further the make file that you give me got error, I think it's obviously the formate that I copied from this page, and makefile is sensitive to spaces. And I actually skipped 2 steps in your article :<BR/>#1. $ dox2unix install-sh runConfigureICU configure config.sub mkinstalldir \<BR/>config.guess config.status<BR/>My terminal always complain when I use dox2unix. And in version 1.37.0, I regconized in that folder doesn't have the file mkinstalldir( instead of mkinstalldirs ) and config.guess.<BR/>#2. su -c "chown arindam:devuser /opt/boost"<BR/>I don't know whether these 2 steps would make my process failed or not. But when I see the prebuilt library in the folder( I put at my Desktop ), I think it succeeded, but it might misses something.chanhttps://www.blogger.com/profile/01579475699215305478noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-34738984293277117412008-12-06T13:48:00.000+05:302008-12-06T13:48:00.000+05:30- Thanks a lot. I really appreciate it. I'm pr...- Thanks a lot. I really appreciate it. I'm pretty new to Linux, that's why I don't understand it quite well. By the way, I have a question, how could you figure out how to install boost<> ? What should I need to study in order to do this stuff. Would you mind recommending me some good books and subject so that I can learn. I really really love C/C++ and Linux. I was just like in heaven when I found this article, I'm honest. I'm been working on installing boost for 6 months. I did a lot of google search but the only thing I found is the tutorial on Windows using Visual C++. I asked several forums, but not a lot of people care about it. <BR/>I've been programming in C++ for 2 years. And some subjects that I currently follow : openGL, gtk+, GNU Make, boost<> and some Linux API( I actually haven't started on this yet ). And I've just found two pretty good things : automake and autoconf.<BR/>Do you think I'm greedy when I tried to learn to many things at the same times. I know that I am, but I don't know why I always have that thought. I really addicted to C++ and Linux, but I think I'm in the wrong direction. So I think as an expert and experienced programmer, could you give me some advices and how to become a good programmer. I'm still on College, I will transfer next year. Sorry for my poor English. If something not clear, I will try to explain it again. Thank you very much Arindam Mukherjee !chanhttps://www.blogger.com/profile/01579475699215305478noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-36839288438458327472008-12-06T00:36:00.000+05:302008-12-06T00:36:00.000+05:30So Chan, you should do this:CXX = g++LINK = g++CX...So Chan, you should do this:<BR/><BR/>CXX = g++<BR/>LINK = g++<BR/>CXXFLAGS = -Wall -I$BOOST_BIN_ROOT/boost_1_37_0<BR/>LIBS = -L$BOOST_BIN_ROOT/boost_1_37_0/boost/bin.v2/libs/regex/build/gcc-4.3.2/debug/threading-multi<BR/><BR/>OBJS=$(SRCS:%.cpp=%.o)<BR/>$(OBJS)=$(SRCS)<BR/><BR/>SRCS = ex3.cpp<BR/><BR/>$(PROG): $(OBJS)<BR/> $(LINK) -o $(@) $(^) $(LIBS)<BR/><BR/>Some of the syntax is only valid for GNU Make. If you are using some other make or are on a non-linux platform, use $(OBJS) instead of $(^_).Arindam Mukherjeehttps://www.blogger.com/profile/05966433815221748351noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-72858691837631655252008-12-06T00:28:00.000+05:302008-12-06T00:28:00.000+05:30Greetings chan, and thanks for working through the...Greetings chan, and thanks for working through the article. It helps debug the information provided.<BR/><BR/>Now path_to_boost_includes would typically be:<BR/><BR/><boost_install_dir><BR/><BR/>So if you extracted and installed boost at say /opt/boost/boost_1_37, then your include path directive will be:<BR/><BR/>-I/opt/boost/boost_1_37<BR/><BR/>The real include files will be under /opt/boost/boost_1_37/boost:<BR/><BR/>e.g. /opt/boost/boost_1_37/boost/regex.hpp<BR/><BR/>But in our code, we tend to follow the convention of including the boost directory in the include file name:<BR/><BR/>#include <boost/regex.hpp><BR/><BR/>So, specifying till /opt/boost/boost_1_37 as the include path works well.<BR/><BR/>It is not much different if you are using a Windows compiler, like Microsoft C++ 14.0 or 15.0. There instead of -I, it will be /I - but the basic idea remains same.<BR/><BR/>On more recent Linux distros, where Boost comes as an optional package, if you install it, the include files are usually found under:<BR/><BR/>/usr/include/boost/...<BR/><BR/>So you don't need to specify -I/usr/include. The prebuilts libraries typically go into /usr/lib.Arindam Mukherjeehttps://www.blogger.com/profile/05966433815221748351noreply@blogger.comtag:blogger.com,1999:blog-26653368.post-36247888026104865042008-12-05T14:40:00.000+05:302008-12-05T14:40:00.000+05:30First, thanks a lot for your tutorial. But I got s...First, thanks a lot for your tutorial. But I got stuck at the very last step :<BR/>g++ -O2 regextest.cpp -o regextest -Ipath_to_boost_includes -Lpath_to_boost_lib<BR/>I don't understand what is actually "path_to_boost_includes"<BR/>and what is "path_to_boost_lib"<BR/>Could you give me one example ?<BR/>I tried those with my makefile look like this :<BR/>[quote]<BR/>CC = g++<BR/>CFLAGS = -Wall<BR/>PROG = r2<BR/><BR/>SRCS = ex3.cpp<BR/>LIBS = -I$BOOST_BIN_ROOT/boost_1_37_0/boost/bin.v2/libs -L$BOOST_BIN_ROOT/boost_1_37_0/boost/bin.v2/libs/regex/build/gcc-4.3.2/debug/threading-multi/libboost_regex-gcc43-mt-d-1_37.so.1.37.0<BR/><BR/>all: $(PROG)<BR/><BR/>$(PROG): $(SRCS)<BR/> $(CC) $(CFLAGS) -o $(PROG) $(SRCS) $(LIBS)<BR/><BR/>clean:<BR/> rm -f $(PROG)[/quote]<BR/>But it didn't work, a compiler gives me a ton of error message. I currently using Ubuntu 8.10 and the boost version that I installed is 1_37_0. <BR/>I wish you still here, and thanks in advance :D !chanhttps://www.blogger.com/profile/01579475699215305478noreply@blogger.com