11

I'm not extremely familiar with the linux filesystem, having moved from windows, but I do have a decent amount of experience with C++ and the Boost libraries in windows. Having switched Fedora 17, can anyone tell me if there is a certain directory where I should install Boost to get it working the gnu compiler?

Note: if it matters, I don't use an IDE I use vim for most of my programming.

Ingo Karkat
  • 167,457
  • 16
  • 250
  • 324
kjh
  • 3,407
  • 8
  • 42
  • 79

4 Answers4

16

There are a few ways of setting up the boost libraries on linux.

  1. Save yourself some pain, use your package manager to install the Boost libs. You'll be grateful in the long run.

  2. If you absolutely must do it yourself, simply put it anywhere so long as it's in the gcc include path. This is /usr/local/include/ or /usr/include/ for headers and /usr/local/lib/ or /usr/lib/ for libraries

  3. Finally if for some reason that isn't possible, use the -I switch with g++ to specify the path to boost. (but this would only be necessary if 1 and 2 aren't possible)

daniel gratzer
  • 52,833
  • 11
  • 94
  • 134
14

Use your package manager to install boost libraries, for debian ubuntu it is like:

sudo aptitude install libboost-system1.49.0-dev

for centos6 it is

yum install boost-devel
zb'
  • 8,071
  • 4
  • 41
  • 68
  • 8
    Doesn't answer the question of where to put the files when the package manager is not a viable option. – User1291 Oct 26 '16 at 07:39
  • 2
    @User1291 yes, because if you want to answer this, you need to know much more about environment user has. This is why distros exists/ – zb' Nov 03 '16 at 04:07
2

I had issues installing boost using yum (recently installed Fedora 17).. so I unzipped the boost tar ball to my /opt.

so g++ -I /opt/boost/boost_1_51_0 works like a charm.

pb2q
  • 58,613
  • 19
  • 146
  • 147
frostbite
  • 628
  • 1
  • 14
  • 27
0

From the introduction to boost:

http://www.boost.org/doc/libs/1_51_0/more/getting_started/unix-variants.html

you can put it anywhere you like. And then you compile with something like this

c++ -I path/to/boost_1_51_0 example.cpp -o example \
   -L~/boost/stage/lib/ -lboost_regex-gcc34-mt-d-1_36

"c++" can be g++ or clang++ for example.

Johan Lundberg
  • 26,184
  • 12
  • 71
  • 97