libstatgrab 出现问题

发布于 2024-12-17 04:23:39 字数 1250 浏览 0 评论 0原文

使用 libstatgrab 时遇到问题 - 我在编译时收到以下错误:

“libstatgrabTest.cpp:16:对 sg_get_process_stats 的未定义引用”

我猜这是因为我需要将其 .so 文件包含在链接状态——虽然我不确定。如下所示,我当前包含 statgrab.h 头文件。我执行了配置&&制作&&为库进行安装

如果我搜索 libstatgrab*,我会遇到以下内容:

./usr/local/lib/libstatgrab.so.6.2.3
./usr/local/lib/libstatgrab.la
./usr/local/lib/libstatgrab.so.6
./usr/local/lib/libstatgrab.a
./usr/local/lib/libstatgrab.so.6.2.2
./usr/local/lib/libstatgrab.so
./usr/local/lib/pkgconfig/libstatgrab.pc

另一次搜索 statgrab* 返回以下内容(仅相关项目):

./usr/local/bin/statgrab
./usr/local/include/statgrab_deprecated.h
./usr/local/include/statgrab.h

在编译时,我运行: g++ -g -c libstatgrabTest.cpp

在链接时,我运行: g++ -L/usr/local/lib libstatgrab.o -o libstatgrabTest

知道我做错了什么吗? libstagrabTest.cpp 中的代码如下所示:

// external libraries
#include <statgrab.h> // libstatgrab (http://www.i-scream.org/libstatgrab/)

// namespace
using namespace std;

int main(void) {
  // try to initalize libstatgrab

  int * entries;
  sg_process_stats * systemStats = sg_get_process_stats(entries);

  // return
  return 0;
}

Having trouble using libstatgrab -- I receive the following error at compile time:

"libstatgrabTest.cpp:16: undefined reference to sg_get_process_stats"

I'm guessing it is because I need to include it's .so files at the linking state -- although I'm not sure. As you can see below, I am currently including the statgrab.h header file. I performed configured && make && make install for the library.

If I search for libstatgrab*, I come across the following:

./usr/local/lib/libstatgrab.so.6.2.3
./usr/local/lib/libstatgrab.la
./usr/local/lib/libstatgrab.so.6
./usr/local/lib/libstatgrab.a
./usr/local/lib/libstatgrab.so.6.2.2
./usr/local/lib/libstatgrab.so
./usr/local/lib/pkgconfig/libstatgrab.pc

Another search for statgrab* returns the following (relevant items only):

./usr/local/bin/statgrab
./usr/local/include/statgrab_deprecated.h
./usr/local/include/statgrab.h

At compilation, I run: g++ -g -c libstatgrabTest.cpp

At linking, I run: g++ -L/usr/local/lib libstatgrab.o -o libstatgrabTest

Any idea what I am doing wrong? The code within libstagrabTest.cpp is shown below:

// external libraries
#include <statgrab.h> // libstatgrab (http://www.i-scream.org/libstatgrab/)

// namespace
using namespace std;

int main(void) {
  // try to initalize libstatgrab

  int * entries;
  sg_process_stats * systemStats = sg_get_process_stats(entries);

  // return
  return 0;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

放手` 2024-12-24 04:23:39
g++ -L/usr/local/lib libstatgrab.o -o libstatgrabTest

应该是(在 Ubuntu Natty 上用你的代码片段测试):

g++ -L/usr/local/lib -o libstatgrabTest -lstatgrab

或者,静态链接:

g++ -L/usr/local/lib -o libstatgrabTest /usr/lib/libstatgrab.a

在我的盒子上测试了两者,并使用了你的确切来源。

g++ -L/usr/local/lib libstatgrab.o -o libstatgrabTest

should be (tested with your code snipper on Ubuntu Natty):

g++ -L/usr/local/lib -o libstatgrabTest -lstatgrab

or, to link statically:

g++ -L/usr/local/lib -o libstatgrabTest /usr/lib/libstatgrab.a

Tested both on my box, with your exact source.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文