- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 go build
的 syso 文件为我的可执行文件设置一个图标。
在我的 win10 笔记本上一切正常,但是当我在 ubuntu-latest 或 windows-latest 中使用相同的 syso 文件(使用 git lfs checkin )时,我收到以下消息:
C:\Users\VSSADM~1\AppData\Local\Temp\go-build430615882\b001\_pkg_.a(rsrc.syso): not an object file
##[error]The Go task failed with an error: Error: The process 'C:\hostedtoolcache\windows\go\1.14.2\x64\bin\go.exe' failed with exit code 2
bad magic number
当调用可执行文件
($env:GOPATH+"\bin\rsrc.exe")
在管线中。
go build
一起使用?
pool:
vmImage: 'windows-2019'
variables:
GOBIN: '$(GOPATH)/bin'
GOPATH: '$(system.DefaultWorkingDirectory)/gopath'
ExecutableName: tool
GoFilePath: '$(System.DefaultWorkingDirectory)/cmd/Tool/'
steps:
- task: GoTool@0
inputs:
version: '1.14.2'
- task: Go@0
inputs:
command: 'get'
arguments: '-d ./...'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: PowerShell@2
displayName: Set last tag to variable
inputs:
targetType: 'inline'
script: |
$VERSION_TAG = git describe --tags (git rev-list --tags --max-count=1)
Write-Host("##vso[task.setvariable variable=VERSION_TAG]$VERSION_TAG")
Write-Host("##vso[build.addbuildtag]$VERSION_TAG")
Write-Host($VERSION_TAG)
- task: PowerShell@2
displayName: Set date to variable
inputs:
targetType: 'inline'
script: |
$DATE = Get-Date -Format "yyyy-MM-dd"
Write-Host("##vso[task.setvariable variable=DATE]$DATE")
- task: Go@0
displayName: 'Create release for windows x64'
enabled: true
env:
GOOS: windows
GOARCH: amd64
inputs:
command: 'build'
arguments: '-ldflags "-s -w -X main.Version=$(VERSION_TAG) -X main.BuildTime=$(DATE)" -trimpath -o release_build/$(ExecutableName).exe $(GoFilePath)'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
displayName: 'Create release for windows x86'
enabled: true
env:
GOOS: windows
GOARCH: 386
inputs:
command: 'build'
arguments: '-ldflags "-s -w -X main.Version=$(VERSION_TAG) -X main.BuildTime=$(DATE)" -trimpath -o release_build/$(ExecutableName)_x86.exe $(GoFilePath)'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
displayName: 'Create release for linux x64'
enabled: true
env:
GOOS: linux
GOARCH: amd64
inputs:
command: 'build'
arguments: '-ldflags "-s -w -X main.Version=$(VERSION_TAG) -X main.BuildTime=$(DATE)" -trimpath -o release_build/$(ExecutableName).bin $(GoFilePath)'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
displayName: 'Create release for linux x86'
enabled: true
env:
GOOS: linux
GOARCH: 386
inputs:
command: 'build'
arguments: '-ldflags "-s -w -X main.Version=$(VERSION_TAG) -X main.BuildTime=$(DATE)" -trimpath -o release_build/$(ExecutableName)_386.bin $(GoFilePath)'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: Go@0
displayName: 'Create release for macOS x64'
enabled: true
env:
GOOS: darwin
GOARCH: amd64
inputs:
command: 'build'
arguments: '-ldflags "-s -w -X main.Version=$(VERSION_TAG) -X main.BuildTime=$(DATE)" -trimpath -o release_build/$(ExecutableName).app $(GoFilePath)'
workingDirectory: '$(System.DefaultWorkingDirectory)'
- task: CopyFiles@2
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)/release_build'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: CopyFiles@2
inputs:
SourceFolder: '$(System.DefaultWorkingDirectory)/docs'
TargetFolder: '$(Build.ArtifactStagingDirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'Tool Executables'
最佳答案
当我在写我想出的问题时,我使用 git lfs
对于这些文件。
添加此步骤后,我可以使用资源文件编译可执行文件。
steps:
- checkout: self
lfs: true
/opt/hostedtoolcache/go/1.14.2/x64/pkg/tool/linux_amd64/link: running gcc failed: exit status 1
/usr/bin/ld: i386 architecture of input file `/tmp/go-link-782633042/000000.o' is incompatible with i386:x86-64 output
collect2: error: ld returned 1 exit status
- task: PowerShell@2
displayName: Remove syso files
inputs:
targetType: 'inline'
script: |
Remove-Item $(System.DefaultWorkingDirectory)/cmd/AnalyseTool/*.syso
version https://git-lfs.github.com/spec/v1
oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393
size 12345
(ending \n)
关于powershell - 如何在 Azure DevOps 上的 Windows 管道中为 Go 生成 syso 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62230694/
public class Round15_Ex11 { partner in crime public static void main(String[] args) { ②
这个问题我已经有一段时间了,我一直在到处寻找答案,最后选择在这里提问。我看到的所有其他帖子都没有解决我的问题,我尝试执行以下操作: 更改了快捷方式的绑定(bind) 确保在模板下检查了该内容 确保我的
我正在尝试从 Eclipse 切换到 Intellij。立刻我就发现了一个问题。在 Eclipse 中您可以输入: syso 和媒体: CTRL + 空格键 这将导致: System.out.prin
SYSO - System.out.println() 的作用是什么?如果我的计算机正在执行一项大型作业,例如从数据库提取 20 万条(大约 2,000,000 条)记录到文件中,SYSO 会影响执行
这个问题在这里已经有了答案: How do I print my Java object without getting "SomeType@2f92e0f4"? (13 个答案) 关闭 3 年前。
我在寻找一些技巧,让我有可能改变 Eclipse 中的系统行为(请假设下面有 Eclipse 的编辑器),现在它以这种方式工作: 系统%一些变量 % - 表示当我输入 ctrl + space 时,结
当我按照规则输入 Syso(Ctrl + ‘Space’) 时,我的 Eclipse IDE(Juno 版本)无法显示 System.out.println()。如何修复它?为什么会发生这种不稳定的行
我想使用 go build 的 syso 文件为我的可执行文件设置一个图标。 在我的 win10 笔记本上一切正常,但是当我在 ubuntu-latest 或 windows-latest 中使用相同
我在使用 TestNg 启动新包时遇到了问题。请注意,我已经简化了代码以试图找出我哪里出错了。在 @Test(priority=3) 我遇到了问题。它不允许我点击按钮。 我已经检查了编译器并运行 1.
我是一名优秀的程序员,十分优秀!