所以我下载了最新的 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/