亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

go交叉編譯sqlite報(bào)錯(cuò)問(wèn)題解決分析

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

go sqlite交叉編譯

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

編譯問(wèn)題報(bào)錯(cuò)

go的跨平臺(tái)編譯一直做的都非常不錯(cuò),之前我用go開(kāi)發(fā)的程序在mac上都非常順利的編譯出amd64,mips等平臺(tái)的可執(zhí)行程序,部署也非常方便,而go-sqlite3是支持database/sql接口,那么基于cgo的問(wèn)題也就有了,在默認(rèn)情況下cgo是不允許交叉編譯的,有用docker解決這個(gè)問(wèn)題的(感覺(jué)大材小用),但在社區(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(默認(rèn)該值是0,因?yàn)橐幾gcgo所以配置為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 

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

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

相關(guān)文章

  • 詳解Golang語(yǔ)言中的interface

    詳解Golang語(yǔ)言中的interface

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

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

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

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

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

    利用 Go 語(yǔ)言編寫(xiě)一個(gè)簡(jiǎn)單的 WebSocket 推送服務(wù)

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

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

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

    GO語(yǔ)言包管理工具go?mod以及包詳解

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

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

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

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

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

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

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

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

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

最新評(píng)論