我下载并升级了 1.54.0 的 Boost 库版本。我在回答这个问题时做了所有的事情:如何在 Visual Studio 2010 中使用 Boost 然后我从这里下载并解压缩 Boost.process:http ://www.highscore.de/boost/process/并按照回答这个问题:如何编译 Boost.Process 库?.
我将持有者进程和 process.hpp 放入持有者提升中,将其他持有者进程放入库中,并试图用 b2.exe 和 bjam.exe 用“--with-process”编译它,但得到“错误的库名称”进程'。
无论如何,我将库包含到我的项目中并输入以下代码:
namespace bp = ::boost::process;
int main()
{
std::string exec = "G:\\Detect.exe";
std::vector<std::string> args;
args.push_back("--version");
bp::context ctx;
ctx.stdout_behavior = bp::silence_stream();
bp::child c = bp::launch(exec, args, ctx);
return 0;
}
当我运行它时,我得到一些错误:
1>c:\boost_1_54_0\boost\process\detail\pipe.hpp(129): error C2665: 'boost::system::system_error::system_error' : none of the 7 overloads could convert all the argument types
1> c:\boost_1_54_0\boost\system\system_error.hpp(39): could be 'boost::system::system_error::system_error(int,const boost::system::error_category &,const std::string &)'
1> c:\boost_1_54_0\boost\system\system_error.hpp(43): or 'boost::system::system_error::system_error(int,const boost::system::error_category &,const char *)'
1> while trying to match the argument list '(DWORD, overloaded-function, const char [54])'
1>c:\boost_1_54_0\boost\process\operations.hpp(130): error C2039: 'filesystem_error' : is not a member of 'boost::filesystem'
1>c:\boost_1_54_0\boost\process\operations.hpp(130): error C3861: 'filesystem_error': identifier not found
我应该怎么办?