使用libstatgrab时遇到问题-编译时收到以下错误:
"libstatgrabTest.cpp:16: undefined reference to sg_get_process_stats"
我猜是因为我需要在链接状态下包含.so文件-尽管我不确定。如您在下面看到的,我目前包括statgrab.h头文件。我为该库执行了configured && make && make install

如果我搜索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;
}

最佳答案

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

使用您的确切来源在我的盒子上进行了测试。

关于c++ - libstatgrab出现问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8205913/

10-12 17:29
查看更多