because boost header is installed to


so you can comple this progrom

#include <iostream>
#include <boost/array.hpp>

using namespace std;
int main(){
  boost::array<int, 4> arr = 1;
  cout << "hi" << arr[0];
  return 0;

for the library which is not header only, it is a bit tricky.

#include <boost/filesystem.hpp>
#include <iostream>

using namespace boost::filesystem;

int main()
  path p("/home/echo/.zshrc");
  boost::system::error_code ec;
  boost::uintmax_t filesize = file_size(p, ec);
  if (!ec)
    std::cout << filesize << '\n';
    std::cout << ec << '\n';

have to compile with

g++ file_size.cpp -o file_size -std=c++11   -lboost_system -lboost_filesystem  

the following does not work

g++ -std=c++11   -lboost_system -lboost_filesystem  file_size.cpp -o file_size

the reason? the order of -l matters.