首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Mac上共享一个c++库,这样我就可以将用户定义的函数添加到mySQL

在Mac上共享一个c++库,这样我就可以将用户定义的函数添加到mySQL
EN

Stack Overflow用户
提问于 2014-08-12 22:04:51
回答 1查看 669关注 0票数 0

我试图按照以下说明将自己的用户定义函数添加到mySQL中:在这里输入链接描述

但到目前为止,它在我的mac小牛中还不起作用。

我首先要:

代码语言:javascript
复制
gcc -Wall -I /usr/local/mysql/include -I /usr/local/include -c udf_median.cc -o udf_median.o

然后我试着:

代码语言:javascript
复制
ld -shared -o udf_median.so udf_median.o

但我发现了一个错误:

代码语言:javascript
复制
ld: unknown option: -shared

在Mac中有共享库吗?

我试过了回答中的建议,并且我geT:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-13 00:10:23

Mac链接器为此使用了-dylib标志。此外,该平台将.dylib扩展用于共享库,而不是.so

代码语言:javascript
复制
ld -dylib -o udf_median.dylib udf_median.o

由于您正在直接调用链接器,您可能还需要添加标志来针对通常是隐式的库(例如,libc的-lc )进行链接。或者,如果您的库链接针对父可执行文件中的函数,则可能需要使用其他链接器选项来允许这种情况发生。

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

https://stackoverflow.com/questions/25274847

复制
相关文章

相似问题

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