vs由于vcpkg的原因导致项目编译慢的问题定位及分析

最近在vs2017、c++、vcpkg环境下进行开发,遇到了项目源码编译慢的问题,不是一般的慢,而是多加一行空格就编译七、八分钟这种慢,让人无法忍受。这两天专门针对该问题进行了详细分析。

1.刚开始查资料调研分析可能是因为*.h头文件太多,不同cpp文件同时多次包含.h导致的编译慢,对应的解决办法为采用预处理编译头进行提高编译速度。尝试过后,编译速度没啥变化,这种情况存在大量复杂头文件时有效果,而我现在这个项目头文件并不多,应该是别的原因。

2.查看编译输出信息,前面编译速度其实挺快的,就卡到dll生成这一步,7分钟时间消耗在这。

 要想搞清楚这一步在干啥,需要输出详细的编译信息(参考链接),工具-选项-项目和解决方案-生成并运行,将MSBuild输出详细级别改由最小为诊断。

 3.重新编译,输出信息卡在下图所示

最后一条信息:"fj_removert_alg.dir\Release\vcpkg.applocal.log"很关键,能看出来和vcpkg有关,找到该文件所在路径,是vs自动生成的一个中间文件。

 打开该文件,记录了vcpkg里的一些dll路径,经过观察,7分钟时间全消耗在这个文件的更新上面了,猜测应该是vs对vcpkg里的一些dll进行了一些操作处理(哪位有清楚的可以评论补充)。

 4.解决办法,将相关项目里的use vcpkg的是改为否,改完之后,vcpkg.applocal.log文件不再更新,项目编译时间也缩减到50s,问题解决。

也可在cmake命令设置项目在vs中默认不打开vcpkg,和上面效果一样

# 设置vs默认不打开vcpkg 
set_target_properties(${ALG_REMOVERT_NAME} PROPERTIES VS_GLOBAL_VcpkgEnabled false)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VS2022是Visual Studio 2022的简称,而vcpkg是一个开源的C++库管理工具。在VS2022中集成vcpkg可以帮助我们更方便地管理和使用第三方C++库。具体的步骤如下所示: 1. 首先,在VS2022中打开项目,确保已经安装了vcpkg并且已经正确配置了环境变量。 2. 在项目的CMakeLists.txt文件中引入vcpkg.cmake文件,可以通过以下方式引入: ``` include(/path/to/vcpkg/scripts/buildsystems/vcpkg.cmake) [1] ``` 3. 确保vcpkg已经成功安装,并通过运行命令`.\vcpkg.exe --help`来查看帮助和确认安装是否成功。 4. 在CMakeLists.txt中添加以下代码,指定vcpkg的CMake工具链文件路径: ``` set(CMAKE_TOOLCHAIN_FILE D:/DevStudy/vcpkg/scripts/buildsystems/vcpkg.cmake) [3] ``` 通过以上步骤,你就可以成功将vcpkg集成到VS2022中,从而在项目中更方便地管理和使用第三方C++库了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [visual studio 2022使用 vcpkg引入qt](https://blog.csdn.net/chenshihao123456/article/details/131273395)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [VS2022中安装vcpkg来使用第三方库gnuplot matplot++,实现简单绘图功能,数据分析](https://blog.csdn.net/qq_36212935/article/details/130849333)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值