zhanghang1989 / PyTorch-Encoding

A CV toolkit for my papers.
https://hangzhang.org/PyTorch-Encoding/
MIT License
2.04k stars 450 forks source link

编译enclib_cpu模块时出错 #412

Closed shinkusuki closed 2 years ago

shinkusuki commented 2 years ago

operator.obj : error LNK2001: 无法解析的外部符号 "void cdecl CONV_RECTIFY_CPU(class at::Tensor &,class at::Tensor const &,class c10::ArrayRef<int64>,class c10::ArrayRef<__int64>,class c10::ArrayRef<__int64>,class c10::ArrayRef<__int64>,bool)" (?CONV_RECTIFY_CPU@@YAXAEAVTensor@at@@AEBV12@V?$ArrayRef@_J@c10@@222_N@Z) build\lib.win-amd64-3.6\enclib_cpu.cp36-win_amd64.pyd : fatal error LNK1120: 1 个无法解析的外部命令 error: command 'D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\bin\HostX86\x64\link.exe' failed with exit status 1120

在使用python setup.py install时,运行到这里就出错了。我大概知道是operator.cpp和operator.h的问题,但是我尝试之后没有改善问题。请问可有大佬知道这里应该如何才能解决

shinkusuki commented 2 years ago

我可以找到是operator.h中第82至89行 void CONV_RECTIFY_CPU( at::Tensor& output, const at::Tensor& input, at::IntArrayRef kernel_size, at::IntArrayRef stride, at::IntArrayRef padding, at::IntArrayRef dilation, bool avg_mode); 这段代码有问题,但是我无法处理

shinkusuki commented 2 years ago

在我重新检查各代码后发现是setup.py里少了一个.cpp文件,加入后正常安装了