首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在我的Haxe/hxcpp构建中包括libsqlite3?

如何在我的Haxe/hxcpp构建中包括libsqlite3?
EN

Stack Overflow用户
提问于 2017-11-01 22:19:39
回答 2查看 351关注 0票数 1

我有一个非常简单的测试,将SQLite3包含在我的Haxe构建中(我知道它内置了SQLite,但这个问题并不适用于这里)。看起来是这样的:

代码语言:javascript
复制
@:include("sqlite3.h")
@:buildXml('<files id="haxe" append="true"><compilerflag value="-lsqlite3"/></files>')
extern class SQLite3 {
    @:native("sqlite3_open") public static function sqlite3_open(path: String, outReference:Reference<DBPointer>):Int;
}

@:include("sqlite3.h")
@:native("sqlite3")
extern class DBPointer {

}

这不会引发任何Haxe错误,但是当我试图编译时,我会在C++编译中得到以下错误:

代码语言:javascript
复制
Undefined symbols for architecture x86_64:
"_sqlite3_open", referenced from:
    Main_obj::main() in aea44ed0_Main.o
ld: symbol(s) not found for architecture x86_64

我认为添加buildXml指令(您可以看到)就足以动态引用macOS SQLite库,但似乎并非如此。

我怎么才能在这里加入SQLite呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-11-02 06:04:47

根据hxcpp构建XML文档的说法,我认为你应该更换

代码语言:javascript
复制
<compilerflag value="-lsqlite3"/>

使用

代码语言:javascript
复制
<flag value="-lsqlite3"/>

代码语言:javascript
复制
<lib base="sqlite3"/>
票数 2
EN

Stack Overflow用户

发布于 2017-11-02 03:09:06

我不太了解如何使用cpp外部库(因此这不能准确地回答您的问题),但我确实知道SQLLite实现是内置到Haxe中的(用于CPP、hl、java、lua、宏、neko、php和python平台)。以下是一些相关的文档:

这里有一个片段(来自这个完整示例要点)。

代码语言:javascript
复制
var conn = sys.db.Sqlite.open("test.db");

var rs = conn.request('
  CREATE TABLE IF NOT EXISTS artists_backup
  (
    artistid INTEGER PRIMARY KEY AUTOINCREMENT,
    name NVARCHAR
  );
');

var rs = conn.request('INSERT INTO artists_backup (name) VALUES ("John");');

请注意,ResultSet是一个Iterator<Dynamic>,但是您可以输入一个类型提示来保持DB代码的良好和类型安全:

代码语言:javascript
复制
typedef RecordType = { name:String, id:Int };

for (record in (rs:Iterator<RecordType>)) {
  // While record is still a Dynamic object, the TypeDef alias tells
  // the compiler that .name and .id are the only valid fields.
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47064589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档