我试图按照以下说明将自己的用户定义函数添加到mySQL中:在这里输入链接描述
但到目前为止,它在我的mac小牛中还不起作用。
我首先要:
gcc -Wall -I /usr/local/mysql/include -I /usr/local/include -c udf_median.cc -o udf_median.o然后我试着:
ld -shared -o udf_median.so udf_median.o但我发现了一个错误:
ld: unknown option: -shared在Mac中有共享库吗?
我试过了回答中的建议,并且我geT:
ld -dylib -o udf_median.dylib udf_median.o
ld: warning: -macosx_version_min not specified, assuming 10.8
Undefined symbols for architecture x86_64:
"__ZdlPv", referenced from:
_median_deinit in udf_median.o
"__Znwm", referenced from:
_median_init in udf_median.o
"_free", referenced from:
_median_deinit in udf_median.o
_median_reset in udf_median.o
"_malloc", referenced from:
_median_reset in udf_median.o
"_qsort", referenced from:
_median in udf_median.o
"_realloc", referenced from:
_median_add in udf_median.o
"_strcpy", referenced from:
_median_init in udf_median.o
ld: symbol(s) not found for inferred architecture x86_64发布于 2014-08-13 00:10:23
Mac链接器为此使用了-dylib标志。此外,该平台将.dylib扩展用于共享库,而不是.so。
ld -dylib -o udf_median.dylib udf_median.o由于您正在直接调用链接器,您可能还需要添加标志来针对通常是隐式的库(例如,libc的-lc )进行链接。或者,如果您的库链接针对父可执行文件中的函数,则可能需要使用其他链接器选项来允许这种情况发生。
https://stackoverflow.com/questions/25274847
复制相似问题