未定义的Sigar库参考

时间:2013-01-24 17:08:16

标签: c++ qt cpu-usage sigar

我正在编写一个代码来获取Sigar库的CPU使用率,但是当我尝试编译代码时,我得到了这个错误:未定义引用`sigar_cpu_perc_calculate(sigar_cpu_t *,sigar_cpu_t *,sigar_cpu_perc_t *)@ 12' 我的代码出了什么问题?在.pro文件中我添加了

INCLUDEPATH += "path_to\\sigar-bin\\include"
LIBS += "path_to\\sigar-bin\\lib\\sigar-x86-winnt.lib"

代码:

#include <QDebug>
#include <sigar.h>
#include <sigar_format.h>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    sigar_t *sigarcpu1;
    sigar_cpu_t cpu1;
    sigar_open(&sigarcpu1);
    sigar_cpu_get(sigarcpu1, &cpu1);
    sigar_close(sigarcpu1);

    sigar_t *sigarcpu2;
    sigar_cpu_t cpu2;
    sigar_open(&sigarcpu2);
    sigar_cpu_get(sigarcpu2, &cpu2);
    sigar_close(sigarcpu2);

    sigar_cpu_perc_t perc;
    sigar_cpu_perc_calculate(&cpu1, &cpu2, &perc);
    qDebug() << perc.combined;

    return a.exec();
}

1 个答案:

答案 0 :(得分:0)

试试这个: -

extern "C" {
#include <sigar_format.h>
}

见这里: -

http://communities.vmware.com/thread/389369