1

我正在尝试使用ubuntu 下Perfect中的 MySQL 连接器连接到我的 MySQL 数据库。

我已经成功创建了MySQL.so文件,但不知道接下来要做什么,以便我可以像MySQLTests.swiftimport MySQL中的代码一样连接到 MySQL 数据库。

这是我尝试过的

复制MySQL.soPerfect/PerfectServer/PerfectLibraries/->

-I $(PERFECT_ROOT)/PerfectServer/PerfectLibraries在 ->makefile下添加/Perfect/Examples/URL Routing

添加import MySQL- Perfect/Examples/URL Routing/URL Routing/PerfectHandlers.swift>

然后我error: no such module 'MySQL'在执行make 命令时得到了。

有人知道如何使用Perfect提供的连接器吗?

我是 swift 新手,也许这个问题对于熟悉 swift 的人来说有点愚蠢。

4

1 回答 1

1

您需要MySQL.so从系统库路径加载库。我刚刚为 MongoDB 连接器完成了此操作,还没有为 MySQL 测试它,但我尝试为您重现它。

遵循这些步骤应该可以帮助您:

确保您已安装 libmysqlclient-dev。

sudo apt-get install libmysqlclient-dev

cd进入你的 MySQL 项目目录并构建它

cd /path/to/myPerfectProject/MySQL

make

使二进制文件可用于您的项目:

ln -sf `pwd`/MySQL.so /usr/local/lib/
ln -sf `pwd`/MySQL.swiftmodule /usr/local/lib/
ln -sf `pwd`/MySQL.swiftdoc /usr/local/lib/

确保您的库路径可用于make

sudo echo /usr/local/lib >> /etc/ld.so.conf
sudo ldconfig

像这样更新项目的 makefile:(注意 MySQL 链接)

MYSQL_ROOT=/path/to/mysql

SWIFTC_FLAGS = -frontend -c -module-cache-path $(MODULE_CACHE_PATH) -emit-module -I /usr/local/lib -I $(PERFECT_ROOT)/linked/LibEvent \
    -I $(PERFECT_ROOT)/linked/OpenSSL_Linux -I $(PERFECT_ROOT)/linked/ICU -I $(PERFECT_ROOT)/linked/SQLite3 -I $(PERFECT_ROOT)/linked/LinuxBridge -I $(PERFECT_ROOT)/linked/cURL_Linux -I $(MYSQL_ROOT)/linked/libmysqlclient

LFLAGS = $(SHLIB_PATH) -luuid -lswiftCore -lswiftGlibc /usr/local/lib/MySQL.so /usr/local/lib/PerfectLib.so -Xlinker -rpath -Xlinker $($(OS)_SHLIB_PATH) -shared

构建你的项目

cd /path/to/myPerfectProject/

make
于 2016-02-20T13:51:01.930 回答