我正在尝试使用 ubuntu 下 Perfect 中的 MySQL 连接器连接到我的 MySQL 数据库。
我已经成功创建了 MySQL.so
文件,但不确定下一步该怎么做才能像 MySQLTests.swift 中的代码那样导入 MySQL
并连接到 MySQL 数据库.
这是我试过的
Copying
MySQL.so
toPerfect/PerfectServer/PerfectLibraries/
->Adding
-I $(PERFECT_ROOT)/PerfectServer/PerfectLibraries
inmakefile
under/Perfect/Examples/URL Routing
->Adding
import MySQL
inPerfect/Examples/URL Routing/URL Routing/PerfectHandlers.swift
->Then I got
error: no such module 'MySQL'
when executingmake
command.
有人知道如何使用完美提供的连接器吗?
我是 swift 的新手,也许这个问题对于熟悉 swift 的人来说有点愚蠢。
最佳答案
您需要从系统库路径加载MySQL.so
库。
我刚刚为 MongoDB 连接器做了这个,还没有为 MySQL 测试它,但我试着为你重现它。
遵循这些步骤应该可以帮助您:
Ensure that you have installed libmysqlclient-dev.
sudo apt-get install libmysqlclient-dev
cd
into your MySQL project dir and build it
cd /path/to/myPerfectProject/MySQL
make
Make the binaries available to your project:
ln -sf `pwd`/MySQL.so /usr/local/lib/
ln -sf `pwd`/MySQL.swiftmodule /usr/local/lib/
ln -sf `pwd`/MySQL.swiftdoc /usr/local/lib/
Ensure your libraries path is availbale to
make
:
sudo echo /usr/local/lib >> /etc/ld.so.conf
sudo ldconfig
Update the makefile of your project like this: (notice the MySQL linkings)
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
Build your project
cd /path/to/myPerfectProject/
make
关于mysql - 在 Perfect 框架中使用 MySQL 连接器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34629892/