【问题标题】:Boost::Process compile issues, had to modify lib to get it to workBoost::Process 编译问题,必须修改 lib 才能使其工作
【发布时间】:2014-02-09 11:44:33
【问题描述】:

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

libs/boost-1.55.0/build/include/boost/process/operations.hpp:85:36: error: ‘filesystem_error’ is not a member of ‘boost::filesystem’

我确实继续检查了这个文件,我删除了那行(连同它上面的 if 语句),修改后它编译得很好。奇怪的是filesystem_error 实际上是boost::filesystem 的成员,所以我不明白它为什么抱怨。

有什么方法可以解决这个问题而不必删除这些行?我真的不想做这样的修改。

这是最新的 Boost::Process(我使用的是 Boost 1.55.0,以防你想要版本号)。

【问题讨论】:

  • 不要链接到一些“可疑”的压缩包,包括代码
  • 马上执行#include <boost/process.hpp> 会导致编译错误。
  • 你使用的是什么操作系统?

标签: c++ boost process


【解决方案1】:

你需要像我昨天那样修复它[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 no 间接包含错误类的标头


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

【讨论】:

  • 你太棒了。感谢您的所有回答!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-24
  • 2023-03-31
  • 1970-01-01
  • 1970-01-01
  • 2021-01-14
相关资源
最近更新 更多