C++ 使用共享库的MySql UDF赢得';t载荷

C++ 使用共享库的MySql UDF赢得';t载荷,c++,mysql,linux,gcc,user-defined-functions,C++,Mysql,Linux,Gcc,User Defined Functions,我正在尝试使用Digital Persona的免费linux SDK库创建一个与指纹匹配的mysql UDF。我写了一篇微不足道的UDF作为学习经验,效果很好。然而,当我向Digital Persona的共享对象添加依赖项时,我无法再让MySql加载我的UDF 我将Include添加到DP的标题中,并使用以下方法编译了我的UDF: gcc -fPIC -Wall -I/usr/src/mysql-5.0.45-linux-i686-icc-glibc23/include -shared -o d

我正在尝试使用Digital Persona的免费linux SDK库创建一个与指纹匹配的mysql UDF。我写了一篇微不足道的UDF作为学习经验,效果很好。然而,当我向Digital Persona的共享对象添加依赖项时,我无法再让MySql加载我的UDF

我将Include添加到DP的标题中,并使用以下方法编译了我的UDF:

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时,都会出现以下错误:

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不允许UDFs使用附加的共享对象?< /P> > P>你的问题是你的库依赖于另一个,BYMySQL/DL不知道这个,因此不加载它。您需要将您的库与数字角色库显式链接。您可以通过使用
-l{libname}
(可能还有
-l/lib/path
)来实现这一点。

您的库依赖于另一个库,但MySQL/dl不知道这一点,因此不会加载它。您需要将您的库与数字角色库显式链接。您可以使用
-l{libname}
(可能还有
-l/lib/path
)来执行此操作。

是自定义字段还是用户定义函数?--从缩写Hater.Mysql UDF是“用户定义函数”。实现MySql可以调用的特定接口的C函数。自定义项是用户定义的字段还是用户定义的函数?--从缩写Hater.Mysql UDF是“用户定义函数”。实现MySql可以调用的特定接口的C函数。