C++ boost中的进程
我正在使用(boost的附加库)。在我提供的链接页面上,您可以找到使用示例。我安装了库,添加:C++ boost中的进程,c++,boost,process,C++,Boost,Process,我正在使用(boost的附加库)。在我提供的链接页面上,您可以找到使用示例。我安装了库,添加:#包括和以下一些代码: 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’ 对于所有描述的样本,我都有这样的错误。怎么了 我知道真正的名称空间
#包括
和以下一些代码:
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’
对于所有描述的样本,我都有这样的错误。怎么了
我知道真正的名称空间应该是进程,但我查看了代码,发现它是用
boost
和进程
名称空间包装的。因此,没有任何进程
名称空间。正如您自己所说,示例中的名称空间是::boost::process
。该行:
namespace bp=::boost::processs
仅定义命名空间别名:
bp::
是boost::processs
的别名。编写bp::command\u-line
与编写boost::processs::command\u-line
完全一样。由于命令行
位于boost::process
命名空间中,因此找不到该类型。您是否可能使用了不同的/旧的/备用版本的boost process,即您是否从最近的版本中获得了boost process?
如果打开boost/process.hpp,您会在顶部看到以下内容吗
//版权所有(c)20062007 Julio M.Merino Vidal
//版权所有(c)2008年、2009年Boris Schaeling
我记得过去有另一位作者的boost流程的另一个版本
我看了一些由Vidal/Schaeling编写的流程文件,它们肯定都使用boost::process命名空间。如果在源代码中看不到这一点,则可能使用其他版本。此外,我在上提供的参考中没有看到任何命令行条目。仅供参考,boost流程最近也经历了许多变化(在boost邮件列表上进行了讨论)。@Ockonal:很抱歉,请忽略我的回答。我想提供更多帮助,但我无法从工作中下载boost.process,您要编译哪个示例?我没有看到您链接的页面上引用了
bp::command\u line
。boost.process有许多不同的版本,请参见此处。确保您使用的是一致的文档。