Я пытаюсь скомпилировать стороннюю библиотеку, но g ++ жалуется на следующую строку:
typedef boost::shared_ptr<MessageConsumer> MessageConsumerPtr;
Странно то, что в файле нет директивы #include
- и, очевидно, так и должно быть; Есть около 60 файлов с одинаковыми (или очень похожими) проблемами. Ясно, что если бы существовала директива #include
, ссылающаяся на соответствующий заголовок надстройки, она была бы скомпилирована без ошибок.
Мой вопрос: как я могу заставить g ++ каким-то образом автоматически найти соответствующий символ (во всех случаях этой проблемы это пространство имен, которое не может быть найдено - обычно std::
или boost::
) любым из них обработка соответствующего заголовка (или какого-либо другого механизма).
Спасибо.
Редактировать
Мой текущий вызов g ++ выглядит так:
g++ -fPIC -O3 -DUSING_PCH -D_REENTRANT -I/usr/include/boost -I./ -c MessageInterpreter.cpp -o MessageInterpreter.o