亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Windows Server 2008 上構建時“不是有效的 Win32 應用程序”

在 Windows Server 2008 上構建時“不是有效的 Win32 應用程序”

Go
HUH函數 2022-06-13 16:13:15
我有以下問題。我有一個為每個操作系統和 ARCH 構建的簡單 Golang 應用程序。我的意思是操作系統:視窗(GOOS=視窗)OSX(它建立在 OSX 機器上)和拱門:32 (GOARCH=amd64)64 (GOARCH=386)一切都適用于 MAC OS X、Windows Server 2008+。但是當我嘗試在 Windows Server 2008 SP2 上運行已編譯的應用程序時遇到了問題。我收到以下錯誤:App.exe is not a valid Win32 application并在嘗試從 PowerShell 運行時:The specified executable is not a valid application for this OS platform我的申請幾乎是 1:1的如果鏈接將來無法使用,請使用以下代碼:我正在使用 GO 1.14 并通過以下方式構建它:go build -ldflags "-s -w" app.go我也嘗試過go build app.go,但沒有任何改變:(
查看完整描述

1 回答

?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

我相信這是因為從Go 1.13開始,內部鏈接的 Windows 二進制文件指定的 Windows 版本現在是 Windows 7:

由內部鏈接的 Windows 二進制文件指定的 Windows 版本現在是 Windows 7 而不是 NT 4.0。這已經是 Go 所需的最低版本,但會影響具有向后兼容模式的系統調用的行為。這些現在將按照記錄的方式運行。外部鏈接的二進制文件(任何使用 cgo 的程序)總是指定更新的 Windows 版本。

Windows 7 有發布版本NT 6.1,Windows Server 2008 有發布版本NT 6.0來源)。所以很簡單,Windows Server 2008 不滿足構建二進制文件所需的最低 Windows 版本。

如果您需要支持 Windows Server 2008,請嘗試使用 Go 1.12 構建它。


查看完整回答
反對 回復 2022-06-13
  • 1 回答
  • 0 關注
  • 485 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號