Visual Studio 2022 include和lib路径问题

最近安装了Visual Studio 2022,想试下opengl,首先是用cmake尝试编译,结果编译不过,一直报错 LINK : fatal error LNK1104: 无法打开文件“ucrtd.lib”

然后我新建了一个工程,导入了glfw的包打算编译一下,结果好家伙,一编译一大堆报错,全是什么 E1696 无法打开 源 文件 crtdbg.h之类的

网上说什么重装windows 10 sdk的,试了完全不起作用。我又试下装了VS2019,这个是没有问题的,开始怀疑是系统依赖路径的锅,于是我打开VS2022的include和lib的目录看了下

把默认的配置拷贝了出来,这是包含目录的配置

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\include
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\atlmfc\include
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\include
C:\Program Files\Windows Kits\10\Include\10.0.19041.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\shared
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\winrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\cppwinrt
C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\Include\um

这是库目录的配置

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\lib\x64
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.30.30705\atlmfc\lib\x64
C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\VS\lib\x64
C:\Program Files\Windows Kits\10\lib\10.0.19041.0\ucrt\x64
C:\Program Files (x86)\Windows Kits\10\lib\10.0.19041.0\um\x64
C:\Program Files (x86)\Windows Kits\NETFXSDK\4.8\lib\um\x64

结果发现这里C:\Program Files\Windows Kits\10\Include\10.0.19041.0\ucrtC:\Program Files\Windows Kits\10\lib\10.0.19041.0\ucrt\x64两个目录我本地压根不存在,这就找到原因了,ucrt这个东西lib和include目录都不存在,到哪里去了呢?我按照其他几个目录结构去找,结果找到了两个目录

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt
C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt

注意区分,这里其实就是目录多了个x86(以及lib大小写),这两个才是真正的安装依赖路径,至于默认的路径为什么是前面那个就不清楚了。可能软件安装本身有问题,也可能是我机器的原因,总之是个比较坑的点。

那么问题就很好解决了,把下面这两个目录文件分别拷贝到上面两个目录就行了(这样更方便一点,因为VS改默认依赖路径很麻烦),再精确一点就是:

复制include目录
mkdir C:\Program Files\Windows Kits\10\Include\10.0.19041.0\ucrt
copy C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt\* C:\Program Files\Windows Kits\10\Include\10.0.19041.0\ucrt
复制lib目录
mkdir C:\Program Files\Windows Kits\10\lib\10.0.19041.0\ucrt
copy C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\* C:\Program Files\Windows Kits\10\lib\10.0.19041.0\ucrt

 这不是可用的脚本,只是大概表达这个意思,先去创建好两个目录,然后把文件复制过去就好了。亲测有效

  • 9
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Visual Studio 2022 是微软推出的集成开发环境(IDE),用于开发各种应用程序,包括使用 PCL(Point Cloud Library)进行点云处理的应用程序。 PCL 是一个开源的点云处理库,它提供了许多用于点云获取、滤波、分割、配准、表面重建等功能的算法和工具。在 Visual Studio 2022 中,你可以通过以下步骤来使用 PCL: 1. 下载和安装 PCL:你可以从 PCL 官方网站(https://pointclouds.org/downloads/)下载预编译的 PCL 库。选择与你的操作系统和 Visual Studio 版本相匹配的安装包,并按照说明进行安装。 2. 创建一个新的项目:打开 Visual Studio 2022,点击“文件”菜单,选择“新建”和“项目”选项。在项目模板中选择“空项目”或其他适合你的项目类型。 3. 配置项目属性:右键点击你的项目,在上下文菜单中选择“属性”。在属性窗口中,找到“C/C++”选项卡,然后点击“常规”。在附加包含目录中添加 PCL 的头文件路径(通常在安装目录下的 include 文件夹中)。 4. 配置链接器属性:在属性窗口中,找到“链接器”选项卡,然后点击“常规”。在附加库目录中添加 PCL 的库文件路径(通常在安装目录下的 lib 文件夹中)。然后,在“输入”选项卡中,在附加依赖项中添加你需要使用的 PCL 库文件(例如 pcl_common.lib、pcl_io.lib 等)。 5. 编写代码:在你的项目中,创建一个源文件(例如 main.cpp),并编写你的 PCL 代码。可以包括点云加载、滤波、分割、配准等操作。你需要包含相应的 PCL 头文件,并使用 PCL 的命名空间。 6. 构建和运行项目:保存你的代码,并点击 Visual Studio 2022 工具栏上的“生成”按钮,或使用快捷键 Ctrl + Shift + B 进行构建。如果没有编译错误,你可以点击工具栏上的“调试”按钮,或使用快捷键 F5 运行你的项目。 希望以上步骤能帮助你在 Visual Studio 2022 中使用 PCL 进行点云处理。如有更多问题,请随时提问!

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值