boost::filesystem3::path::parent_path() on Ubuntu

boost::filesystem3::path::parent_path() on Ubuntu

本文关键字:path on Ubuntu parent filesystem3 boost      更新时间:2023-10-16

作为输入,函数获取文件路径和名称参数

const QString& buildSourcePathAndName  

它只需要提取路径才能进一步处理。我使用以下代码来执行此操作.

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

在窗户上它工作正常。但是在 linux (ubuntu) 上我无法编译它,出现错误。

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

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

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