Golang 中国

我是在windows下交叉编译的,在Ubuntu上面运行就出错。golang 连接sqlite3 需要装什么库啊,Ubuntu上面没有golang环境 编译好直接运行的。

7 回复
dophin
#1 dophin • 2016-08-28 14:46

代码贴出来看看啊

cloa
#2 cloa • 2016-08-28 14:55

`

package main

import (
    "database/sql"
    "fmt"
    "log"

    _ "github.com/mattn/go-sqlite3"
)

func main() {

    db, err := sql.Open("sqlite3", "./test.db")
    if err != nil {
        log.Fatal(err)
    }
    defer db.Close()

    var count int
    if err := db.QueryRow("select count(*) count from test where id=1").Scan(&count); err != nil {
        fmt.Println("Failed to QueryRow:", err)
    }
    fmt.Println(count)
}
`
dophin
#3 dophin • 2016-08-28 15:23

Windows可以跑吗?

snake117
#4 snake117 • 2016-08-29 09:39

这个windows下编译为windows肯定没问题,我试过了。unbuntu下编译为ubuntu按楼主说的也没问题。那就是交叉编译的问题了。

lmxliumingxiao
#5 lmxliumingxiao • 2016-10-11 17:06

这个问题楼主解决了吗,我也遇到了这个问题和楼主的一样,麻烦知道的贴个解决方案出来,感激不尽

Zhangyc310
#6 Zhangyc310 • 2016-10-12 14:26

cgo无法交叉编译,而sqlite3用到了c代码,这部分无法跨平台编译。
换用mysql,各个平台肚子编译。

qingo
#7 qingo • 2018-03-16 22:52

这个就sqlite3就没办法了吧?

需要 登录 后方可回复, 如果你还没有账号你可以 注册 一个帐号。