gpt4 book ai didi

.net - 如何在 C++ 中正确使用链接器/SOURCELINK 选项

转载 作者:行者123 更新时间:2023-12-01 18:32:37 30 4
gpt4 key购买 nike

我们在 C# 项目中使用 SourceLink,它工作得很好。当我们尝试在 C++ 项目上使用它时,链接器中的/SOURCELINK 选项似乎被忽略,因为生成的 PDB 中没有相关元数据

我正在使用这个 MSBuild:

 msbuild /version
Enterprise
Microsoft (R) Build Engine version 15.8.168+ga8fba1ebd7 for .NET Framework
Copyright (C) Microsoft Corporation. All rights reserved.

15.8.168.64424

链接器选项记录如下:/SOURCELINK

我们这样使用它

/SOURCELINK:"C:\Projects\SourceLinkTest\sourcelink.json"

带有手工制作的 JSON 文件(因为我们的 Stash 仍然是 v4.5.2)

{"documents":
{"C:\\Projects\SourceLinkTest\\*":
"https://stash.mycompany.com/projects/EDMPTF/repos/sourcelink/browse/*?at=ae281edb41c2da2a9375a63d8be9dd3ca00660fd&raw"
}
}

MSBuild 链接步骤如下所示:

Link:                                                                                                                                                                                                                                 
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\link.exe /ERRORREPORT:QUEUE /OUT:"C:\Projects\SourceLinkTest\Debug\SourceLi nkTest.exe" /INCREMENTAL /NOLOGO kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /MANIFEST /MANIFESTUAC:"level='asInvoker' uiAccess='fa lse'" /manifest:embed /DEBUG:FASTLINK /PDB:"C:\Projects\SourceLinkTest\Debug\SourceLinkTest.pdb" /SUBSYSTEM:WINDOWS /TLBID:1 /DYNAMICBASE /NXCOMPAT /IMPLIB:"C:\Projects\SourceLinkTest\Debug\SourceLinkTest.lib" /MACHINE:X86 /SOURCELINK:"C:\Projects\SourceLinkTest\sourcelink.json" Debug\SourceLinkTest.res
Debug\SourceLinkTest.obj
Debug\stdafx.obj
SourceLinkTest.vcxproj ->
C:\Projects\SourceLinkTest\Debug\SourceLinkTest.exe

我们使用 Jetbrains dotPeek 检查 PDB 内容,因为 SourceLink V3 工具只能分析可移植 PDB

最佳答案

与 Microsoft 开发人员交谈后发现这是一个错误。部分修复在 VS2017 15.9.7 中。完整修复已在 VS2019 中进行。

关于.net - 如何在 C++ 中正确使用链接器/SOURCELINK 选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52423484/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com