首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法加载使用共享库的MySql UDF

无法加载使用共享库的MySql UDF
EN

Stack Overflow用户
提问于 2010-06-02 00:20:59
回答 1查看 1.9K关注 0票数 1

我正在尝试创建一个mysql UDF,它将使用Digital Persona的免费linux SDK库来匹配指纹。我已经写了一个琐碎的UDF作为学习经验,效果很好。但是,当我向Digital Persona的共享对象添加依赖项时,我无法再让MySql加载我的自定义函数。

我将includes添加到DP的报头中,并使用以下命令编译我的UDF:

代码语言:javascript
复制
gcc -fPIC -Wall -I/usr/src/mysql-5.0.45-linux-i686-icc-glibc23/include -shared -o dp_udf.so dp_udf.cc

我还尝试添加-static参数,但每次重新启动MySql时,都会收到以下错误:

代码语言:javascript
复制
Can't open shared library 'dp_udf.so' (errno: 0 /usr/local/mysql/lib/plugin/dp_udf.so: undefined symbol: MC_verifyFeaturesEx)

MC_verifyFeaturesEx是我包含的一个定义为"dpMatch.h“的函数,它是用libdpfpapi.so实现的,我尝试将它放在与我的dp_udf.so相同的位置和/usr/lib中。

是我对gcc的调用做错了什么(我的C++技能生疏了),还是MySql不允许UDF使用额外的共享对象?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-03 06:18:19

你的问题是你的库依赖于另一个库,但是MySQL/dl不知道这一点,因此不能加载它。您需要显式链接您的库与Digital Persona的库。您可以通过使用-l{libname} (也许还有-L/lib/path)来实现这一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2951472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档