无法使用SQLite.swift构建命令行项目

时间:2016-04-18 17:25:20

标签: swift xcode7 sqlite.swift

我正在尝试构建一个使用sqlite的命令行工具。我已经下载了Stephen Celis' swift wrapper, SQLite.swift,并构建了一个可用的OS X应用程序。但是,我无法构建我的命令行工具。我相信我在SQLite.swift Documentation for frameworkless targets中正确地遵循了指示,但显然我错过了一些东西。我在Helper.swift @ import CSQLite中出错 - >没有这样的模块'CSQLite'。

  • 我正在连接libsqlite3.dylib(也试过libsqlite3.tbd)
  • 我将SQLite.swift源添加到我的项目
  • 我添加了#import sqlite3.h& #import“SQLite-Bridging.h”到我的桥接头文件。也许值得注意的是,当我右键单击sqlite3.h或SQLite-Bridging.h时,xCode不知道它们在哪里/它们是什么。

我很高兴将我的测试项目(大约80KB,已压缩)发送给能够并且愿意提供帮助的任何人。可能有一个非常简单的解决方案,我只是看不出它是什么。

thx任何帮助,

-Craig

1 个答案:

答案 0 :(得分:5)

我遇到了同样的问题。 有许多编译器错误,如" Connection.swift:26:8:无法构建Objective-C模块' CSQLite'"

错误源于" lctx.h:13:25:使用未声明的标识符' SYS_getlcid'"

值得一提的是我安装了两个Xcode - v 6.2 at / Applications和v 7.3 at~ / Applications。我的项目是Swift上的iOS应用程序和SQLite pod,我用Xcode 7.3打开它。

SQLite pod在project_folder / Pods / SQLite.swift / CocoaPods / iphonesimulator / module.modulemap中有一个文件。 该文件包含内容

module CSQLite [system] { header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/sqlite3.h" export * }

为了修复编译器错误,我将module.modulemap的内容更改为

module CSQLite [system] { header "/Users/my_user_name/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/sqlite3.h" export * }

更改是我将sqlite3.h的搜索指向我的〜/ Applications文件夹,其中包含Xcode 7.3。 这使我的项目编译。