VS Code中无法找到torch/extension.h文件的解决求助
解决PyTorch扩展头文件找不到的问题
先激活conda环境再启动VSCode
在VS2019开发者终端里先执行conda activate cuda_test,再启动VSCode。这样编译器会继承conda环境的变量,自动识别PyTorch的路径,避免硬编码路径出错。修正
c_cpp_properties.json配置
注意你之前的配置文件名可能写错了,正确路径是.vscode/c_cpp_properties.json,修改内容如下:{ "configurations": [ { "name": "Win32", "includePath": [ "${workspaceFolder}/**", "${env:CONDA_PREFIX}/lib/site-packages/torch/include", "${env:CONDA_PREFIX}/lib/site-packages/torch/include/torch/csrc/api/include" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE", "TORCH_API_INCLUDE_EXTENSION_H", "USE_CUDA=1" // 无CUDA环境可删除此行 ], "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2019/Professional/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe", "cStandard": "c17", "cppStandard": "c++17", "intelliSenseMode": "windows-msvc-x64" } ], "version": 4 }用
${env:CONDA_PREFIX}替代硬编码路径,能自动关联当前激活的conda环境,避免路径写错。同时添加PyTorch必需的宏定义,确保头文件能正确解析。清理IntelliSense缓存
按Ctrl+Shift+P打开命令面板,选择「C/C++: Reset IntelliSense Database」,然后重启VSCode,解决缓存导致的路径识别问题。手动编译时指定完整路径
如果用终端手动编译,要确保把所有依赖的头文件和库路径都加上:cl /EHsc /I "%CONDA_PREFIX%\lib\site-packages\torch\include" /I "%CONDA_PREFIX%\lib\site-packages\torch\include\torch\csrc\api\include" /LIBPATH:"%CONDA_PREFIX%\lib\site-packages\torch\lib" your_code.cpp torch.lib torch_cpu.lib有CUDA的话再加上
torch_cuda.lib。
内容的提问来源于stack exchange,提问作者Erik
相关产品推荐
相关产品推荐

