c++ - Boost::Process 编译问题,必须修改 lib 才能使其工作

标签 c++ boost process

所以我下载了最新的 Boost::Process 库并尝试编译,结果是这样的:

libs/boost-1.55.0/build/include/boost/process/operations.hpp:85:36: 错误:“filesystem_error”不是“boost::filesystem”的成员

我确实继续检查了这个文件,我删除了那一行(连同它上面的 if 语句)并且它在修改后编译正常。奇怪的是 filesystem_error 实际上是 boost::filesystem 的成员,所以我不明白为什么它会提示。

有什么办法可以在不删除这些行的情况下解决这个问题吗?我真的不想做那样的修改。

这是最新的 Boost::Process (如果您需要版本号,我使用的是 Boost 1.55.0)。

最佳答案

你需要像我昨天那样修复它[1]:

boost/process/operations.hpp中修改

#include <boost/filesystem/path.hpp> 

进入

#include <boost/filesystem/path.hpp> 
#include <boost/filesystem/convenience.hpp>

或者只是

#include <boost/filesystem.hpp> 

原因似乎是 path.hpp 没有间接包含错误类的 header


[1] 好的,它隐藏在 'amalgamate' on Coliru 中:)

关于c++ - Boost::Process 编译问题,必须修改 lib 才能使其工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21658637/

相关文章:

git - 如何使用 git、boost、

java - Runtime.getRuntime().exec ("ls ~") 未列出主目录的内容

c# - 从 C# 在同一环境中执行多个命令

c++ - DirectX 9 HLSL 与 DirectX 10 HLSL : syntax the same?

c++ - for 循环中的 static_cast

c++ - (1<<32) 和 (1<<i) 之间的差异,其中 i == 32

c++ - 检查进程用户是否是管理员c++

c++ - GL_TEXTURE_3D 是什么意思?

c++ - Microsoft C++ 异常:内存位置的 boost::archive::archive_exception(通过客户端服务器 Boost Udp 解析 Vector)

c++ - 减少邻接表的内存需求