剛開始學golang,看著大神視頻,自己寫了一個小工具,生成exe檔案后; 在本地電腦運行沒有問題,但拿到別的電腦上,就報glib相關dll檔案不存在; 求 大神指點,如何使打包的exe在任何WINDOWs系統下可以運行。
uj5u.com熱心網友回復:
dll是動態加載的,所以別人的Windows系統需要事先準備好這個dll首先弄清楚glib相關的dll是哪些代碼使用的,這些代碼載入dll的路徑是相對路徑還是絕對路徑?
然后根據上面調查的路徑,把dll當作資源打包,主程式啟動前判斷目標路徑是否存在dll,如果不存在則把資源包的dll復制到目標路徑。
uj5u.com熱心網友回復:
補充一下,go打包靜態資源,可以用go-bindata,lz自己谷歌百度一下吧,或者參考以下https://c.isme.pub/2019/01/10/go-static/
uj5u.com熱心網友回復:
謝謝大神。用gotk3做的圖形,今天嘗試找出相關依賴,正想著怎么打包呢。
uj5u.com熱心網友回復:
謝謝大神。用gotk3做的圖形,今天嘗試找出相關依賴,正想著怎么打包呢。
明天我試下
uj5u.com熱心網友回復:
還是不要打包到一個EXE里了,會被殺毒軟體誤報的,還是做安裝包吧。uj5u.com熱心網友回復:
go build時添加引數指定靜態構建,如:go build -ldflags "-linkmode external -extldflags -static" webapi.go
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/10235.html
標籤:go語言
上一篇:如何配置靜態MAC地址
下一篇:Day03
