Boost 1.34.0 and how to get it to build for AMD64...
I've recently been deluged by a pile of new electronic gadgets* so that I haven't had time to do much coding. So I was looking around yesterday and found that there's (finally) a new version of Boost available. I was actually underwhelmed by the lack of interesting new libraries that have been added (there have been a number of interesting libraries approved, but the only one of the group that have been approved that I was anxious to use trivially was Xpressive - I might rip out "for each" from my source code to try BOOST_FOREACH instead, too). That aside, I immediately discovered that they removed support for BJam V1, and require BJam V2. It took me another 2 hours of digging to figure out how to build the 64 bit libraries with the new build system. Here's how you do it:
bjam toolset=msvc address-model=64 stage
And, voila - amd64 builds. For the discerning multi-proc engineer (most of us are now, right?) try adding a -j%NUMBER_OF_PROCESSORS% to that command line to use every CPU core your machine has [it builds quite quickly on my Core 2 Quad, and my 2x2 Opteron [faster on my Opteron, actually - the C++ compiler eats data cache for breakfast - I think the extra pipe to memory really helps].
And now, to explain the * above:
Over the past two or three months, I've splurged a lot on myself and/or my wife:
- Sony HD-SR1 camcorder - Good video quality - shockingly better than my old JVC GZ-27, and significantly better than any of the MiniDV camcorders I've owned. AVCHD is less than a great post-processing experience, right now, though
- Apple iPod Shuffle - Fabulous form factor, super-crappy software - one of the devs on my team said that I must be using it in a way that Steve Jobs doesn't, because that's the only way Apple tests their products. I would have waited to get a Creative Labs Stone for half the price, but it was a gift for my wife for her birthday, and the Stone wasn't yet available. Seriously, why do I need a $#@@ driver to use a %#@# flash device? To be fair with my complaints, the Zune does the same thing. Lame lame lame lame. Everyone else on the planet calls 'em USB storage devices, what is wrong with Apple and Microsoft?
- Roku SoundBridge M500 - Great size, great audio quality, but it took forever for me to figure out that Windows Media Connect doesn't like to share audio files that are already on a network share. Once I migrated my music onto my media center, it actually navigated my 150+ Gigs of audio remarkably well, and handles lossless WMA like a champ!
- Bose Companion 2 speakers - Fabulous audio quality, nice looking desing - attached to the SoundBridge in our master bathroom - All my wife needs now is a hot plate and she could live in the master bathroom
- Final not-so-electronic not-so-gadget: Ellsworth Epiphany mountain bike, built up with most SRAM X.9 components. This thing climbs better than my 1997 GT aluminum hard tail. It's much bigger than my GT, but weighs about the same, and I have no idea what I'll do with those 27 gears. I think I only ever used 19 of the 21 available on my GT. I picked it up on Monday night at REI [wouldn't have bought it except for their nice little test track demonstrated that it really does have no weaknesses], I've ridden it to work 2 days [in the rain, but I really didn't care], and I'll be riding it this weekend (probably in the mud) Saturday and Sunday morning. St. Edwards park, and perhaps I'll go visit the Tape Worm in Renton.