To install the latest boost library (1.54.0) download it from http://www.boost.org/ and unpack it. Also I installed the packages the packages zlib, zlib-devel, icu and libiconv to cygwin
cd /usr/src wget http://downloads.sourceforge.net/project/boost/boost/1.54.0/boost_1_54_0.tar.bz2 tar jxf boost_1_54_0.tar.bz2 cd boost_1_54_0 ./booststrap.sh ./b2 --without-mpi install
Troubleshooting
When running ./b2 install there is an error
./b2.exe install
Performing configuration checks– 32-bit : yes
– arm : no
– mips1 : no
– power : no
– sparc : no
– x86 : yes
error: No best alternative for libs/coroutine/build/allocator_sources
next alternative: required properties: <link>static <target-os>windows <threading>multi
not matched
next alternative: required properties: <link>static <segmented-stacks>on <threading>multi
not matched
next alternative: required properties: <link>static <threading>multi
not matched
– has_icu builds : yes
warning: Graph library does not contain MPI-based parallel components.
note: to enable them, add „using mpi ;“ to your user-config.jam
– zlib : yes
– iconv (libc) : no
– iconv (separate) : yes
– icu : yes
– compiler-supports-ssse3 : yes
– compiler-supports-avx2 : yes
– gcc visibility : yes
– long double support : no
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add „using mpi ;“ to user-config.jam.
note: to suppress this message, pass „–without-mpi“ to bjam.
note: otherwise, you can safely ignore this message.
error: No best alternative for libs/coroutine/build/allocator_sources
next alternative: required properties: <link>static <target-os>windows <threading>multi
not matched
next alternative: required properties: <link>static <segmented-stacks>on <threading>multi
not matched
next alternative: required properties: <link>static <threading>multi
not matched
– zlib : yes
This is a bug in `lib/coroutine/build/Jamfile.v2
` which can be fixed accoring to http://superuser.com/questions/614472/error-while-installing-boost-1-54 by changing
explicit yield_sources ;
to
explicit allocator_sources ;
This seems to fix the bug, but yet still the boost.log library does not build due to other errors.
Configuring IDE
For Netbeans (7.3.1) go to „Tools -> Options“, select C/C++, choose the tab „Code Assistance -> C++ Compiler“ with the right Tool Collection (in my case Cygwin_4.x). There make sure either the path to <cygwin installation>/usr/local/include is set or add it.
Testing
Okay now a litte test if everything is working as we want it to. For that purpose we write a small program
#include <cstdlib> #include <boost/format.hpp> using namespace std; int main(int argc, char** argv) { unsigned int arr[5] = { 0x05, 0x04, 0xAA, 0x0F, 0x0D }; cout << boost::format("%02X-%02X-%02X-%02X-%02X") % arr[0] % arr[1] % arr[2] % arr[3] % arr[4] << endl; return 0; }
Output should be this
05-04-AA-0F-0D
Inspired by http://fischerlaender.de/development/using-boost-c-libraries-with-gcc-g-under-windows & http://www.technical-recipes.com/2012/getting-started-with-the-boost-libraries-in-cygwin/
Have you built Boost 1.54.0 for Raspberry Pi yet? I’m trying to cross compile it for RPi from windows 7
Sorry for getting back to you so late. Yes I have crosscompiled Boost 1.54.0 for RPi, but I used a VM running a Linux system. The problem is, that using cygwin I was not able to compile boost.log due to a bug. The bug has been reported and confirmed, but still it was faster, easier and less difficult to use a Linux VM. Just give the VM the same amount of CPUs your Host has. This will speed up compiling big time.
Are you using a 32bit Cygwin?
@Phillip yes I was using the 32bit version. But eventually I gave up developing on Windows cuz it was just mere frustrating in terms of crosscompiling. Also I noticed that due to some restrains boost could not be installed completely (think it was boost-log).
But depending on what you need from boost both cygwin x86_64 and x86 should work.