【问题标题】:Using MySQL connector in Perfect framework在 Perfect 框架中使用 MySQL 连接器
【发布时间】:2016-01-06 09:43:00
【问题描述】:

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

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

这是我尝试过的

MySQL.so复制到Perfect/PerfectServer/PerfectLibraries/ ->

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

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

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

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

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

【问题讨论】:

    标签: mysql linux swift ubuntu perfect


    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-17
      • 2016-11-17
      • 2015-04-10
      相关资源
      最近更新 更多