命令上的符号查找错误

时间:2013-04-11 21:38:39

标签: c

我正在尝试在键盘驱动程序中执行一些代码,看起来像this的第三方软件可以运行我试图在插件文件中执行的命令,该编译器文件与守护程序一起编译需要发送给。命令看起来像这样。

g15_send_cmd (g15screen_fd,G15DAEMON_MKEYLEDS,mled_state);

here's我正在使用的代码并尝试运行该命令(它编译为守护进程的插件。在未编译的源代码中它是

“g15daemon /插件/ g15_plugin_uinput.c”

定义命令的文件位于 (链接) "g15daemon/libg15daemon_client/g15daemon_clinet.h"

然而g15macro(第3软件)是从守护程序外部运行的,出于各种原因,我不想(并且几乎不能)使用它,一个是按下按键时执行命令的速度。< / p>

所以程序编译就像这样没有错误似乎。但如果我上面指定的代码激活,驱动程序(守护程序)崩溃给予

  

g15daemon:符号查找错误:   /usr/lib/g15daemon/1.9.5.3/plugins/g15plugin_uinput.so:undefined   符号:g15_send_cmd

我做错了什么或我在这里失踪了什么? (我很抱歉,如果插件文件中的代码被那个开关命令弄得很难,但是我不知道如何做得更好,因为我根本不知道C,我身后的所有人都是Py和C#)

编辑:已提供解决方案

但我不知道如何添加链接器标志,因为它链接到正在编译的程序的一部分它甚至可以工作吗?

1 个答案:

答案 0 :(得分:2)

您忘记将插件与g15daemon_client库相关联。修复它的简单方法是将-lg15daemon_client添加到链接器标志。