Процессы в ускорении - PullRequest
       1

Процессы в ускорении

2 голосов
/ 22 ноября 2010

Я использую boost.process (дополнительная библиотека для повышения). На странице, которую я дал по ссылке, вы можете найти примеры использования. Я установил библиотеку, добавив: #include <boost/process.hpp> и следующий код:

namespace bp = ::boost::processes; // In samples the namespace name is process!
bp::command_line temp("ls");

error: ‘command_line’ is not a member of ‘bp’

И у меня есть такие ошибки для всех описанных образцов. Что не так?


Я знаю, что реальное пространство имен должно быть process , но я изучил код и обнаружил, что он обернут в boost и затем processes пространства имен. Таким образом, не любое process пространство имен.

Ответы [ 2 ]

2 голосов
/ 22 ноября 2010

Возможно, вы не используете другую / более старую / альтернативную версию процесса повышения, т. Е. Недавно получили процесс повышения из песочницы ? Если вы открываете boost / process.hpp, то видите ли вы наверху?

// Copyright (c) 2006, 2007 Julio M. Merino Vidal // Copyright (c) 2008, 2009 Борис Шаилинг

Напоминаю, что в прошлом была еще одна версия процесса повышения, предложенная другим автором.

Я просмотрел некоторые файлы процессов от Vidal / Schaeling, и они определенно все используют пространство имен boost :: process. Если вы не видите этого в источнике, вы, вероятно, используете другую версию. Кроме того, я не видел никаких записей для command_line в справочнике, доступном по адресу http://www.highscore.de/boost/process/. К вашему сведению, процесс повышения также недавно претерпел многочисленные изменения (после обсуждений в списке рассылки повышения).

1 голос
/ 22 ноября 2010

Ну, как вы говорите сами, пространство имен из примеров - ::boost::process. Линия:

namespace bp = ::boost::processes

определяет только псевдоним пространства имен: bp:: является псевдонимом для boost::processes. Написание bp::command_line точно так же, как написание boost::processes::command_line. Поскольку command_line находится в пространстве имен boost::process, тип не найден.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...