cgo を使用して C から sqlite3 を使用しようとしています (go には sqlite3 ラッパーがあることは知っていますが、この方法を試してみたいと思います)。このプログラムはエラーメッセージを表示します
(Undefined symbols for architecture x86_64:
"_sqlite3_open", referenced from:
__cgo_1d4838eae1de_Cfunc_sqlite3_open in cGo.cgo2.o
(maybe you meant: __cgo_1d4838eae1de_Cfunc_sqlite3_open)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
、理由がわかりません - 新しいデータベースストリームを開く方法を理解するのを手伝ってもらえますか?
// cGo
package main
/*
#include <stdio.h>
#include <stdlib.h>
#include <sqlite3.h>
*/
import "C"
//import "fmt"
func main() {
var t* C.sqlite3
C.sqlite3_open("test.db", t)
}