Вам определенно нужно сообщить компилятору, где искать заголовки надстроек. Однако вы должны передать путь к каталогу, в котором находится каталог boost, а не каталогу, в котором находится этот включаемый файл. Так, например, если ваши заголовки повышения находятся в /opt/boost/1.47.0/include
, а ваш файл в /opt/boost/1.47.0/include/boost/property_tree/ptree.hpp
, то вы должны передать /opt/boost/1.47.0/include
компилятору, используя -I
: -I/opt/boost/1.47.0/include
. Или, что еще лучше, используйте -isystem /opt/boost/1.47.0/include
, чтобы не получать предупреждения от этих заголовков.
И да, вы забыли, что в глобальном пространстве имен нет cout
, вы должны использовать std::cout
, или сказать using std::cout;
или using namespace std;
... не говоря уже о #include <iostream>
. Кроме того, оператор return
в функции main
не требуется в C ++, по умолчанию он возвращает 0, если вы не возвращаете что-то еще, поэтому вы можете просто удалить эту строку.
Надеюсь, это поможет. Удачи!