您引用的注释是旧的,应该更新。
Visual Studio C++ 构建系统通过在 vcxproj 中包含一个 CUDA 道具文件进行了扩展以支持 CUDA。例如,在 6.5 示例中,您应该找到这些部分
<PropertyGroup>
<CUDAPropsPath Condition="'$(CUDAPropsPath)'==''">$(VCTargetsPath)\BuildCustomizations</CUDAPropsPath>
</PropertyGroup>
<ImportGroup Label="ExtensionSettings">
<Import Project="$(CUDAPropsPath)\CUDA 6.5.props" />
</ImportGroup>
<ImportGroup Label="ExtensionTargets">
<Import Project="$(CUDAPropsPath)\CUDA 6.5.targets" />
</ImportGroup>
VCTargetsPath 的默认位置是
c:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0[VSver]\BuildCustomizations
如果您打开“CUDA 6.5.props”文件,您可以看到工具包的位置是如何确定的。
<PropertyGroup>
<!-- Check CUDA Toolkit versioned environment variable. -->
<CudaToolkitDir Condition="'$(CudaToolkitDir)' == ''">$(CUDA_PATH_V6_5)</CudaToolkitDir>
<!-- Last, check the new CUDA Toolkit style/Nsight toolkit registry value. -->
<CudaToolkitDir Condition="'$(CudaToolkitDir)' == ''">$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\NVIDIA Corporation\GPU Computing Toolkit\Cuda\$(CudaToolkitVersion)', 'InstallDir', null, RegistryView.Registry64, RegistryView.Registry32))</CudaToolkitDir>
<!-- Ensure $(CudaToolkitDir) has a trailing backslash. -->
<CudaToolkitDir Condition="'$(CudaToolkitDir)' != '' AND !HasTrailingSlash('$(CudaToolkitDir)')">$(CudaToolkitDir)\</CudaToolkitDir>
<CudaToolkitIncludeDir Condition="'$(CudaToolkitIncludeDir)' == ''">$(CudaToolkitDir)include</CudaToolkitIncludeDir>
</PropertyGroup>
在 VXCPROJ 中切换工具包
在 vcxproj 中修改 CUDA .{props, targets} 行中的版本号并重新加载项目。
在 VS 中切换工具包
在 Visual Studio 中打开解决方案资源管理器。
在解决方案资源管理器中右键单击项目节点并执行“构建自定义”
在 Visual C++ Build Customization Files 中检查正确的目标。
覆盖工具包位置
如果您有一个未使用安装程序安装的 CUDA 工具包版本,您可以覆盖默认位置
一个。设置工具包环境变量。例如,设置 CUDA_PATH_V6_5,或者
b.覆盖 vcxproj 中 CudaToolkitDir 的设置,或
c。在 VS 的属性页中为项目更改 CUDA C/C++ | CUDA Toolkit 自定义目录。