Ubuntu上的boost :: filesystem3 :: path :: parent_path()

时间:2013-01-28 11:47:14

标签: c++ ubuntu boost path

作为输入,该函数获取文件路径anmd name参数

const QString& buildSourcePathAndName  

它只需要提取路径以进行进一步处理。 我使用下面的代码来做到这一点。

boost::filesystem::path p(string(buildSourcePathAndName.toLatin1().data()));
m_pSourceCodePath = p.parent_path().string();

在Windows上它运行正常。但是在linux(ubuntu)上我无法编译它,得到错误。

undefined reference to `boost::filesystem3::path::parent_path() const'

我已经读过这个错误 - 建议更改boost lib版本。我不能在我们的系统中这样做。 这个问题的可能解决方案是什么? (我不想实现提取路径的代码,但是要使用一些现有的函数)

1 个答案:

答案 0 :(得分:2)

在Windows上,boost库使用编译指示自动将库添加到链接器命令行。在为linux构建时,您需要在您使用的任何构建系统中显式添加库(在ForEveR和hmjd建议的链接器命令行末尾添加-lboost_filesystem)