I'm trying to create a boost::process from a vector of string arguments:
void runProcess( const std::string& exe, const std::vector<std::string>& args )
{
bp::ipstream out;
bp::child c(exe, args, std_out > out);
...
}
This apparently works, but I'm getting the following warning:
warning C4503: 'boost::fusion::detail::for_each_linear': decorated name length exceeded, name was truncated
It diseappears if passing arguments one by one bp::child c(exe, "param1", "param2", std_out > out);.
What is the correct way to call childconstructor in this situation?
You would use the as intended:
bp::child c(bp::search_path("ls"), bp::args({"-1", "-l"})/*, ...*/);
In your case maybe like
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);
...
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With