报错:“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 的附加包含目录时,请确保遵循以下步骤:
-
打开项目属性:
- 右键点击解决方案资源管理器中的项目,选择“属性”。
-
配置所有平台和配置:
- 确保你选择了正确的平台(如 x64)和配置(如 Debug 或 Release),或者选择“全部配置”和“全部平台”。
-
添加包含目录:
- 导航到
Configuration Properties -> C/C++ -> General
。 - 编辑
Additional Include Directories
,添加所选 MKL 版本的包含路径,例如:C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\include
- 导航到
-
添加库目录(如果需要链接静态库或导入库):
- 导航到
Configuration Properties -> Linker -> General
。 - 编辑
Additional Library Directories
,添加相应的库路径,例如:C:\Program Files (x86)\Intel\oneAPI\mkl\2025.0\lib\intel64_win
- 导航到
-
指定链接的库文件:
- 导航到
Configuration Properties -> Linker -> Input
。 - 编辑
Additional Dependencies
,添加你需要链接的 MKL 库文件,例如:mkl_intel_lp64.lib mkl_sequential.lib mkl_core.lib
- 导航到
总结
确保你使用的是最新版本的 MKL 库(如来自 Intel oneAPI 的版本),并且正确配置了项目属性中的包含目录和库目录。这样可以确保你的项目能够充分利用 MKL 提供的优化功能,并且避免潜在的兼容性问题。如果你有特殊需求或项目依赖于旧版本的 MKL,则可以选择旧版本的路径。
标签:Files,mkl,Intel,MKL,oneAPI,VS,MSB3721,CUDA,版本 From: https://www.cnblogs.com/zbxing/p/18602994