我正在尝试使用我的Ubuntu发行版中的/lib/libproc-3.2.6.so库中的一些函数。
我已经下载并安装了头文件,它们是在我的源文件中定义的。
目前,这就是我想要做的,只是作为开始...
proc_t **read_proc = readproctab(0);但我得到以下编译器错误:
/tmp/cclqMImG.o: In function `Sysmon::initialise_sysmon()':
sysmon.cpp:(.text+0x494): undefined reference to `readproctab'
collect2: ld returned 1 exit status我意识到我用来编译它的命令可能做错了什么,但由于缺乏经验,我不确定我做错了什么。这是我用来编译cpp文件的g++命令:
g++ -o sysmon.o sysmon.cpp `pkg-config --libs --cflags gtk+-2.0`有没有人能给我一些指点,告诉我哪里错了。
发布于 2010-04-10 19:58:35
您没有将可执行文件链接到libproc (这是一个链接器错误消息)。
尝试将-lproc添加到链接器命令。
发布于 2010-04-10 20:06:51
你实际上并没有链接到你想要使用的库,你只是包含了它的头文件,因此,编译器会抱怨未定义的引用。
您可以阅读有关针对共享库here的链接。
一个小建议,开始使用构建工具SCons,它可以为你处理到库的链接,只需添加你想要在SCons所需的SConstruct文件中使用的库,然后你就不必纠结于编译器细节了。您还可以获得SCons提供的许多其他好东西。强烈推荐。
发布于 2017-08-22 04:49:00
Ubuntu 17.04
您可能希望使用-lprocps而不是-lproc。
https://stackoverflow.com/questions/2613261
复制相似问题