Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Linux';dynamique链接器:如何从.so对象的主进程调用函数?_C_Linux_Linker Errors_.so - Fatal编程技术网

C Linux';dynamique链接器:如何从.so对象的主进程调用函数?

C Linux';dynamique链接器:如何从.so对象的主进程调用函数?,c,linux,linker-errors,.so,C,Linux,Linker Errors,.so,在中,我定义了一个名为findConst()的函数。在同一个源代码中,我使用dlopen()etdlsym()加载共享对象(.so) 在本文中,我有一些使用findConst()的代码。。。但不幸的是,当我运行progy时,我遇到了一个查找错误: ./Selene:符号查找错误:./SelDirectFB.so:未定义的符号:findConst 我需要做什么来解决这个问题 谢谢你不能这么做,如果你成功了,你就不应该这么做。执行相反的操作,在共享对象中定义findConst(),然后使用dls

在中,我定义了一个名为findConst()的函数。在同一个源代码中,我使用dlopen()etdlsym()加载共享对象(.so)

在本文中,我有一些使用findConst()的代码。。。但不幸的是,当我运行progy时,我遇到了一个查找错误:

./Selene:符号查找错误:./SelDirectFB.so:未定义的符号:findConst

我需要做什么来解决这个问题


谢谢

你不能这么做,如果你成功了,你就不应该这么做。执行相反的操作,在共享对象中定义
findConst()
,然后使用
dlsym()
将其加载到主程序中


或者更好的做法是,将主程序链接到共享对象并直接调用函数。

需要这样做几乎总是表明设计不佳。但如果你真的必须看一看的话,谢谢你给我指出了另一个我找不到的问题:-Wl,--导出动态使它工作。但你认为这是一个糟糕的设计吗?我们的目标不是创建一个在多个工具之间共享的库,这里的目标是创建一个专用于特定程序的插件。它只是让DirectFB的使用成为可选的,这取决于我的工具运行的系统。