gpt4 book ai didi

mysql - 在 Perfect 框架中使用 MySQL 连接器

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:48:11 25 4
gpt4 key购买 nike

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

我已经成功创建了 MySQL.so 文件,但不确定下一步该怎么做才能像 MySQLTests.swift 中的代码那样导入 MySQL 并连接到 MySQL 数据库.

这是我试过的

Copying MySQL.so to Perfect/PerfectServer/PerfectLibraries/ ->

Adding -I $(PERFECT_ROOT)/PerfectServer/PerfectLibraries in makefile under /Perfect/Examples/URL Routing ->

Adding import MySQL in Perfect/Examples/URL Routing/URL
Routing/PerfectHandlers.swift
->

Then I got error: no such module 'MySQL' when executing make 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com