欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

go交叉編譯sqlite報錯問題解決分析

 更新時間:2024年01月31日 11:55:42   作者:代碼界影帝?囧囧妹  
這篇文章主要為大家介紹了go交叉編譯sqlite報錯問題解決分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

go sqlite交叉編譯

最近服務(wù)端用到了sqlite,因為服務(wù)端用go進行編寫的,在移植完go-sqlite3也編寫完程序調(diào)試好后,要移植到服務(wù)器上,碰巧的是調(diào)試機用的mac os,而服務(wù)器的系統(tǒng)用的ubuntu,在移植過程中碰到的主要問題就是go用到的sqlite如何跨平臺。

編譯問題報錯

go的跨平臺編譯一直做的都非常不錯,之前我用go開發(fā)的程序在mac上都非常順利的編譯出amd64,mips等平臺的可執(zhí)行程序,部署也非常方便,而go-sqlite3是支持database/sql接口,那么基于cgo的問題也就有了,在默認情況下cgo是不允許交叉編譯的,有用docker解決這個問題的(感覺大材小用),但在社區(qū)中找到一種很棒的方法。

交叉編譯go環(huán)境變量組合

$GOOS        $GOARCH
android     arm
darwin      386
darwin      amd64
darwin      arm
darwin      arm64
dragonfly   amd64
freebsd     386
freebsd     amd64
freebsd     arm
linux       386
linux       amd64
linux       arm
linux       arm64
linux       ppc64
linux       ppc64le
linux       mips
linux       mipsle
linux       mips64
linux       mips64le
netbsd      386
netbsd      amd64
netbsd      arm
openbsd     386
openbsd     amd64
openbsd     arm
plan9       386
plan9       amd64
solaris     amd64
windows     386
windows     amd64

go-sqlite的交叉編譯分析

  • 1,在mac配置交叉編譯環(huán)境
      export CGO_ENABLED=1(默認該值是0,因為要編譯cgo所以配置為1)
      export GOOS=linux
      export GOARCH=amd64
  • 2,Mac上安裝linux的交叉編譯器

交叉編譯器下載:https://github.com/karalabe/xgo

  • 3,配置交叉編譯器環(huán)境變量
       export CC=/usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-gcc
  • 4,編譯
CC=/usr/local/gcc-4.8.1-for-linux64/bin/x86_64-pc-linux-gcc CGO_ENABLED=1 GOARCH=amd64 GOOS=linux go build main.go 

通過,將可執(zhí)行程序直接扔到服務(wù)器,完美運行。

以上就是go交叉編譯sqlite報錯問題解決分析的詳細內(nèi)容,更多關(guān)于go sqlite交叉編譯報錯的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 詳解Golang語言中的interface

    詳解Golang語言中的interface

    這篇文章主要介紹了Golang語言中的interface的相關(guān)資料,幫助大家更好的理解和使用golang,感興趣的朋友可以了解下
    2021-01-01
  • go-zero源碼閱讀之布隆過濾器實現(xiàn)代碼

    go-zero源碼閱讀之布隆過濾器實現(xiàn)代碼

    布隆過濾器可以用于檢索一個元素是否在一個集合中。它的優(yōu)點是空間效率和查詢時間都比一般的算法要好的多,缺點是有一定的誤識別率和刪除困難,這篇文章主要介紹了go-zero源碼閱讀-布隆過濾器,需要的朋友可以參考下
    2023-02-02
  • Golang函數(shù)這些神操作你知道哪些

    Golang函數(shù)這些神操作你知道哪些

    這篇文章主要為大家介紹了一些Golang中函數(shù)的神操作,不知道你都知道哪些呢?文中的示例代碼講解詳細,具有一定的學(xué)習(xí)價值,需要的可以參考一下
    2023-02-02
  • 利用 Go 語言編寫一個簡單的 WebSocket 推送服務(wù)

    利用 Go 語言編寫一個簡單的 WebSocket 推送服務(wù)

    這篇文章主要介紹了利用 Go 語言編寫一個簡單的 WebSocket 推送服務(wù),需要的朋友可以參考下
    2018-04-04
  • golang壓縮與解壓縮文件的示例代碼

    golang壓縮與解壓縮文件的示例代碼

    這篇文章主要給大家介紹了golang壓縮與解壓縮文件,文中通過代碼示例給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-02-02
  • GO語言包管理工具go?mod以及包詳解

    GO語言包管理工具go?mod以及包詳解

    go mod是go的一個模塊管理工具,用來代替?zhèn)鹘y(tǒng)的GOPATH方案,下面這篇文章主要給大家介紹了關(guān)于GO語言包管理工具go?mod以及包詳解的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • 揭秘Go Json.Unmarshal精度丟失之謎

    揭秘Go Json.Unmarshal精度丟失之謎

    我們知道在json反序列化時是沒有整型和浮點型的區(qū)別,數(shù)字都使用同一種類型,在go語言的類型中這種共同類型就是float64,下面我們就來探討一下Json.Unmarshal精度丟失之謎吧
    2023-08-08
  • 深入理解go?reflect反射慢的原因

    深入理解go?reflect反射慢的原因

    我們選擇?go?語言的一個重要原因是,它有非常高的性能。但是它反射的性能卻一直為人所詬病,本篇文章就來看看?go?反射的性能問題,感興趣的可以了解一下
    2023-01-01
  • Go語言基礎(chǔ)if條件語句用法及示例詳解

    Go語言基礎(chǔ)if條件語句用法及示例詳解

    這篇文章主要為大家介紹了Go語言基礎(chǔ)if條件語句的用法及示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2021-11-11
  • 詳解如何在Go服務(wù)中做鏈路追蹤

    詳解如何在Go服務(wù)中做鏈路追蹤

    使用 Go 語言開發(fā)微服務(wù)的時候,需要追蹤每一個請求的訪問鏈路,本文主要介紹了如何在Go 服務(wù)中做鏈路追蹤,感興趣的可以了解一下
    2021-09-09

最新評論