Qt 链接到 libparted 错误

Qt link to libparted error

本文关键字:错误 libparted 链接 Qt      更新时间:2023-10-16

目前我想制作一个能够读取HDD分区的Qt应用程序(也许将来能够在HDD上进行操作)。我发现libparted可以用于此(我的应用程序仅适用于Linux)。

已经在机器上安装了libparted,这是我的简单代码:

#include "parted/device.h"
...
void MainWindow::test() {
    ped_device_probe_all();
}

并将此库添加到 qmake

LIBS += -lparted

但是有错误链接器:

undefined reference to `ped_device_probe_all()'

我不确定我的代码出了什么问题,是否有人有问题,需要帮助。

您必须添加parted.h

#include <parted/parted.h>
#include <parted/device.h>
... 
void MainWindow::test() {
    ped_device_probe_all();
}

我也计算了这个错误。 包括parted.h没有帮助。 libparted 是 C 库,所以我在 include device.h 之前添加extern "C",根据对 c++ 程序使用 c 库,它可以工作。

extern "C" {
#include "parted/device.h"
}