首页 > 解决方案 > 添加 /GENPROFILE 标志后无法打开文件“pgort.llib”

问题描述

我正在尝试按照此处的说明为我的项目添加 PGO。添加/GENPROFILE标志后,我开始收到链接错误:

LINK : fatal error LNK1104: cannot open file 'pgort.lib'

在调试了一下之后,我认为问题在于我的库目录(在VC++ 目录选项卡下找到)的值$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64)是:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\lib\spectre\x64
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\atlmfc\lib\spectre\x64
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\lib\x64
C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\ucrt\x64
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\VS\UnitTest\lib
C:\Program Files (x86)\Windows Kits\10\lib\10.0.18362.0\um\x64
C:\Program Files (x86)\Windows Kits\NETFXSDK\4.7.2\lib\um\x64

看起来.\spectre\x64路径没有pgort.lib库,但非幽灵路径有:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.25.28610\lib\x64

我该怎么做才能解决这个问题?我很难相信,如果我使用幽灵二进制文件(我什至不确定我是如何/为什么首先使用它)我无法优化我的项目。

顺便说一句,我在安装了 Enterprise VS 的机器上试过这个,结果是一样的。所以这不是特定于社区版的。

标签: windowsvisual-studiopgo

解决方案


我最终更新了我的构建配置/脚本以动态更新为 PGO 编译时LibraryPath添加适当的、特定于体系结构的版本。$(VC_LibraryPath_VC_x64_Desktop)


推荐阅读