在运行“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客户端库!
答案 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
这取决于那些通过sudo
和port
障碍的环境变量。你可能不得不变得更加棘手。例如:
sudo -s
CFLAGS=-m32 CXXFLAGS=-m32 LDFLAGS=-m32 port install mysqlxx +universal
正如我上面评论的那样,从源代码tarball构建它可能是最简单的。