1
我正在嘗試創建一個使用Digital Persona的免費Linux SDK庫匹配指紋的MySQL UDF。我寫了一個簡單的UDF作爲一種學習體驗,效果很好。但是,當我向Digital Persona的共享對象添加依賴項時,我無法再讓MySql加載我的UDF。使用共享庫的MySql UDF將不會加載
我添加包括對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不允許UDF使用額外的共享對象嗎?
是UDF *用戶定義的字段*或*用戶定義的函數*? - 來自Acronym Hater。 – 2010-06-01 19:14:15
Mysql UDF是「用戶自定義函數」。一個實現MySql可以調用的特定接口的C函數。 http://dev.mysql.com/doc/refman/5.0/en/adding-functions.html – Jarrod 2010-06-01 19:25:32