Macports编译的MySQL ++失败了

时间:2010-05-26 19:32:16

标签: mysql macos macports mysql++

在运行“sudo port install mysqlxx + universal”之前,我安装了mysql5的通用变种。

... 检查是否需要使用-lm来使用C数学函数...否

检查是否需要-lsocket ...否

检查是否需要-lnsl ......否

检查MySQL库目录... / opt / local / lib / mysql5 / mysql

检查MySQL包含目录... / opt / local / include / mysql5 / mysql

检查我们是否可以直接链接到MySQL C API库...没有

检查zlib.h可用性......是

检查zlib.h存在...是

检查zlib.h ...是

在-lz中检查gzread ...是

检查添加-lz是否会让MySQL C API链接成功...没有

configure:error:无法链接到MySQL客户端库!

1 个答案:

答案 0 :(得分:0)

我怀疑这里发生的是你正在运行Snow Leopard。在OS X的早期版本中,默认情况下,默认的C ++编译器构建了32位可执行文件,但在Snow Leopard中这个更改为64位。如果MySQL C API库不是作为支持64位和32位可执行文件的通用库构建的,则会导致链接问题。

有很多方法可以解决这个问题,但我所知道的大多数方法都不适用于MacPorts,或者我不知道如何让它们工作。我在Mac OS X的MySQL ++ README中添加了一节,您可以在线阅读here

也许您可以弄清楚如何使这些解决方案适应MacPorts构建系统。这样的事情可能有用:

CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 sudo port install mysqlxx +universal

这取决于那些通过sudoport障碍的环境变量。你可能不得不变得更加棘手。例如:

sudo -s
CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 port install mysqlxx +universal

正如我上面评论的那样,从源代码tarball构建它可能是最简单的。