使用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/