gpt4 book ai didi

c++ - 将 vector 或参数传递给 boost::process (boost::fusion)

转载 作者:行者123 更新时间:2023-11-30 03:27:06 34 4
gpt4 key购买 nike

我正在尝试从字符串参数 vector 创建一个boost::process:

void runProcess( const std::string& exe, const std::vector<std::string>& args )
{
bp::ipstream out;
bp::child c(exe, args, std_out > out);
...
}

这显然有效,但我收到以下警告:

warning C4503: 'boost::fusion::detail::for_each_linear': decorated name length exceeded, name was truncated

如果一个一个地传递参数,它就会消失bp::child c(exe, "param1", "param2", std_out > out);

在这种情况下调用child构造函数的正确方法是什么?

最佳答案

您将按预期使用:

bp::child c(bp::search_path("ls"), bp::args({"-1", "-l"})/*, ...*/);

在你的情况下可能像

void runProcess( const std::string& exe, const std::vector<std::string>& args )
{
bp::ipstream out;
bp::child c(exe, bp::args(args), std_out > out);
...
}

关于c++ - 将 vector 或参数传递给 boost::process (boost::fusion),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47631163/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com