我有一个非常简单的测试,将 SQLite3 包含在我的 Haxe 构建中(我知道它内置了 SQLite,但这个问题不仅仅适用于这里)。它看起来像这样:
@: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++ 编译中出现以下错误:
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?