报错:“1>D:\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 11.6.targets(790,9): error MSB3721: 命令“"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\bin\nvcc.exe" -gencode=arch=compute_61,code="sm_61,compute_61" --use-local-env -ccbin "D:\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64" -x cu -rdc=true 。。。。。。”

添加“mkl.h”的附加包含目录时注意有两个:

“C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\include”

“D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.1.216\windows\mkl\include”

提到的两个路径确实都指向了 Intel MKL(Math Kernel Library)库,但它们属于不同的版本和安装方式。以下是关于这两个路径的详细解释:

1. C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\include

  • Intel oneAPI:这是 Intel 的最新软件开发工具套件,旨在提供统一的编程模型来简化跨架构开发。它包含了多个优化库,包括最新的 MKL 版本。
  • MKL 2025.0:这表明这是一个较新的 MKL 版本,可能包含了性能改进、新功能以及对现代硬件的支持。

2. D:\Program Files (x86)\IntelSWTools\compilers_and_libraries_2020.1.216\windows\mkl\include

  • Intel Parallel Studio XE旧版 Intel Software Development Tools:这个路径指向的是 Intel 在 oneAPI 之前发布的软件包,如 Intel Parallel Studio XE。这些软件包也包含 MKL 库,但通常是较旧的版本。
  • 2020.1.216:这是一个特定版本号,表示这是一个2020年的版本,可能缺少一些在 newer oneAPI 中引入的新特性。

选择哪个版本?

通常情况下,建议使用最新的库版本以获得最佳性能和支持。因此,如果你没有特别的需求或限制,应该优先考虑使用 Intel oneAPI 下的 MKL 版本(即 C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\include)。这个版本不仅更新,而且更有可能支持最新的硬件和技术。

添加附加包含目录

无论选择哪个版本,在 Visual Studio 的 C++ 项目属性中添加 MKL 的附加包含目录时,请确保遵循以下步骤:

  1. 打开项目属性

    • 右键点击解决方案资源管理器中的项目,选择“属性”。
  2. 配置所有平台和配置

    • 确保你选择了正确的平台(如 x64)和配置(如 Debug 或 Release),或者选择“全部配置”和“全部平台”。
  3. 添加包含目录

    • 导航到 Configuration Properties -> C/C++ -> General
    • 编辑 Additional Include Directories,添加所选 MKL 版本的包含路径,例如:
      C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\include
  4. 添加库目录(如果需要链接静态库或导入库)

    • 导航到 Configuration Properties -> Linker -> General
    • 编辑 Additional Library Directories,添加相应的库路径,例如:
      C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\lib\intel64_win
  5. 指定链接的库文件

    • 导航到 Configuration Properties -> Linker -> Input
    • 编辑 Additional Dependencies,添加你需要链接的 MKL 库文件,例如:
      mkl_intel_lp64.lib
      mkl_sequential.lib
      mkl_core.lib

总结

确保你使用的是最新版本的 MKL 库(如来自 Intel oneAPI 的版本),并且正确配置了项目属性中的包含目录和库目录。这样可以确保你的项目能够充分利用 MKL 提供的优化功能,并且避免潜在的兼容性问题。如果你有特殊需求或项目依赖于旧版本的 MKL,则可以选择旧版本的路径。

VS下进行CUDA编译时error MSB3721相关的原因之一的更多相关文章

  1. cocos2d-html5的jsb模式下如何在编译时自动将js编译为jsc

    cocos2d-html5是一个用JS来开发游戏的框架,通过javascript Binding的方式可以将游戏编译到手机上.这对前端开发人员来说非常方便,开发效率也比使用c++开发要快的多. jsb ...

  2. Ubuntu下math库函数编译时未定义问题的解决

    自己在Ubuntu下练习C程序时,用到了库函数math.h,虽然在源程序中已添加头文件“math.h”,但仍提示所用函数未定义,原本以为是程序出错了,找了好久,这是怎么回事呢? 后来上网查了下,发现是 ...

  3. ubuntu下使用g++编译时默认支持C++11 配置方法

    1.只需要在源文件程序中加上如下一行代码: #pragma GCC diagnostic error "-std=c++11" 此时源文件代码如下: #pragma GCC dia ...

  4. nodejs 前端项目编译时内存溢出问题的原因及解决方案

    现象描述 昨天用webpack打包Vue的项目时,node内存溢出而停止build项目,即是项目构建过程中频繁报内存溢出:FATAL ERROR: CALL_AND_RETRY_LAST Alloca ...

  5. 转-java编译时error: illegal character '\ufeff' 的解决办法-https://blog.csdn.net/t518vs20s/article/details/80833061

    原文链接:https://blog.csdn.net/shixing_11/article/details/6976900 最近开发人员通过SVN提交了xxx.java文件,因发布时该包有问题需要回退 ...

  6. linux下C/C++编译时系统搜索 include 和 链接库 文件路径的指定

     C/C++程序在linux下被编译和连接时,GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径.自己指定的路径就不说了,这里说明一下系统自动搜索的路径.   ...

  7. IDEA14下多jdk编译时,enum不支持;多个project共用在一个workplace下每个module时引用外部包

    idea多个工程如何在一个项目中管理: 把多个多个项目放在一个叫work目录下,那么打开IntelliJ IDEA编译器,点击菜单 File->Open...,选择刚刚的work目录,即可. 在 ...

  8. linux下编译时的默认库和头文件搜索路径

    链接库路径 默认的链接库路径,定义在搜索/etc/ld.so.conf下的一些路径,其包含了一些重要的系统位置:LIBRARY_PATH, 但如果定义了LD_LIBRARY_PATH, 动态库的搜索路 ...

  9. c#中运行时编译时 多态

    c#中运行时编译时 多态   public class aa { } public class bb:aa { } public class cc { public static void Main( ...

  10. gcc 编译时 库链接

    gcc -l参数和-L参数 -l参数就是用来指定程序要链接的库,-l参数紧接着就是库名,那么库名跟真正的库文件名有什么关系呢?就拿数学库来说,他的库名是m,他的库文件名是libm.so,很容易看出,把 ...

随机推荐

  1. 厦门大学3篇DeepSeek报告pdf汇总(附下载地址)

    最近,厦门大学大数据教学团队发布了3份DeepSeek大模相关报告.其中<DeepSeek大模型企业应用实践,全景解读与技术演进>这份报告足足有150页,把国产大模型在企业里怎么用.技术上 ...

  2. QWidget的isHidden和isVisible

    文章目录 QWidget的isHidden和isVisible 问题的出现 QWidget的show()函数 QWidget的isVisible和isHidden 源码追溯 QWidget的isHid ...

  3. Qt 给窗口绘制阴影

    文章目录 Qt 给窗口绘制阴影 前言 重载`paintEvent`法 QGraphicsDropShadowEffect方法 使用九图拼凑法 九宫格缩放阴影法 Qt 给窗口绘制阴影 前言 最近自定义一 ...

  4. 单词搜索 & 周赛第二道

    单词搜索 描述: 给定一个二维网格和一个单词,找出该单词是否存在于网格中.单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格.同 ...

  5. mac brew 安装

    Homebrew国内源 知乎文章地址:https://zhuanlan.zhihu.com/p/111014448 苹果电脑安装脚本: /bin/zsh -c "$(curl -fsSL h ...

  6. 几个技巧,教你去除文章的 AI 味!

    最近有不少朋友在利用 AI 写毕业设计论文,几秒钟一篇文章就刷出来的,爽的飞起. 结果万万没想到,人家论文查重服务也升级了,是不是用 AI 写的论文大概率都能被查出来... 这可如何是好啊?救救我救救 ...

  7. docker学习 容器的启动过程

    这一节我们来稍微了解下docker原理性的东西1    docker run -i -t ubuntu /bin/bash输入上面这行命令,启动一个ubuntu容器时,到底发生了什么?大致过程可以用下 ...

  8. Towards Accurate Alignment in Real-time 3D Hand-Mesh Reconstruction论文解读

    Towards Accurate Alignment in Real-time 3D Hand-Mesh Reconstruction论文解读 这是发表在ICCV2021的一篇文章,主要的工作内容是R ...

  9. [源码系列:手写spring] IOC第三节:Bean实例化策略InstantiationStrategy

    主要内容 在第二节中AbstractAutowireCapableBeanFactory类中使用class.newInstance()的方式创建实例,仅适用于无参构造器.  大家可以测试一下,将第二节 ...

  10. 生命游戏Delphi实现

    生命游戏,康威生命游戏(Game of Life),剑桥大学约翰·何顿·康威设计的计算机程序. 生命游戏没有游戏玩家各方之间的竞争,也谈不上输赢,可以把它归类为仿真游戏.事实上,也是因为它模拟和显示的 ...