我正在尝试使用MySQL下的MySQL连接器连接到我的完美数据库。
我已经成功地创建了MySQL.so
文件,但是不知道下一步该做什么,这样我就可以像MySQLTests.swift中的代码一样,通过import MySQL
连接到MySQL数据库。
这是我尝试过的
将
MySQL.so
复制到Perfect/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
。
有人知道如何使用完美提供的连接器吗?
我对斯威夫特还不熟悉,也许对于熟悉斯威夫特的人来说,这个问题有点愚蠢。
发布于 2016-02-20 05:51:01
您需要从系统库路径加载MySQL.so
库。我刚刚为MongoDB连接器做了这件事,也没有为MySQL测试它,但是我尝试为您再现它。
遵循这些步骤将有助于您解决以下问题:
确保安装了libmysqlclient。
sudo apt-get install libmysqlclient-dev
cd
进入您的MySQL项目dir并构建它。
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
https://stackoverflow.com/questions/34629892
复制