cl在对iou3d进行编译时,会进行很迷惑的行为,将声明变量的语句编译成一个计算的表达式等,且产生的大量报错将会直接盖满整个命令行的显示范围。不知道是什么原因,部分报错信息如下:
```c++
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(31): note: 参见“torch::optim::Adam”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(45): warning C4251: “torch::optim::Adam::step_buffers”: class“std::vector<int64_t,std::allocator<i
nt64_t>>”需要有 dll 接口由 class“torch::optim::Adam”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\c10/core/MemoryFormat.h(53): note: 参见“std::vector<int64_t,std::allocator<int64_t>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(46): warning C4251: “torch::optim::Adam::exp_average_buffers”: class“std::vector<at::Tensor,std::a
llocator<at::Tensor>>”需要有 dll 接口由 class“torch::optim::Adam”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\ATen/core/TensorBody.h(499): note: 参见“std::vector<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(47): warning C4251: “torch::optim::Adam::exp_average_sq_buffers”: class“std::vector<at::Tensor,std
::allocator<at::Tensor>>”需要有 dll 接口由 class“torch::optim::Adam”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\ATen/core/TensorBody.h(499): note: 参见“std::vector<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/adam.h(48): warning C4251: “torch::optim::Adam::max_exp_average_sq_buffers”: class“std::vector<at::Tensor
,std::allocator<at::Tensor>>”需要有 dll 接口由 class“torch::optim::Adam”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\ATen/core/TensorBody.h(499): note: 参见“std::vector<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(22): warning C4305: “初始化”: 从“double”到“float”截断
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(23): warning C4305: “初始化”: 从“double”到“float”截断
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(27): warning C4275: 非 dll 接口 class“torch::optim::LossClosureOptimizer”用作 dll 接口 class“torc
h::optim::LBFGS”的基
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(110): note: 参见“torch::optim::LossClosureOptimizer”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(27): note: 参见“torch::optim::LBFGS”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(48): warning C4251: “torch::optim::LBFGS::ro”: class“std::vector<at::Tensor,std::allocator<at::Te
nsor>>”需要有 dll 接口由 class“torch::optim::LBFGS”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\ATen/core/TensorBody.h(499): note: 参见“std::vector<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(49): warning C4251: “torch::optim::LBFGS::al”: class“std::vector<at::Tensor,std::allocator<at::Te
nsor>>”需要有 dll 接口由 class“torch::optim::LBFGS”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\ATen/core/TensorBody.h(499): note: 参见“std::vector<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(50): warning C4251: “torch::optim::LBFGS::old_dirs”: class“std::deque<at::Tensor,std::allocator<a
t::Tensor>>”需要有 dll 接口由 class“torch::optim::LBFGS”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(50): note: 参见“std::deque<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(51): warning C4251: “torch::optim::LBFGS::old_stps”: class“std::deque<at::Tensor,std::allocator<a
t::Tensor>>”需要有 dll 接口由 class“torch::optim::LBFGS”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/lbfgs.h(50): note: 参见“std::deque<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(34): warning C4275: 非 dll 接口 class“torch::optim::Optimizer”用作 dll 接口 class“torch::optim:
:RMSprop”的基
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(34): note: 参见“torch::optim::RMSprop”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(50): warning C4251: “torch::optim::RMSprop::square_average_buffers”: class“std::vector<at::Tens
or,std::allocator<at::Tensor>>”需要有 dll 接口由 class“torch::optim::RMSprop”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\ATen/core/TensorBody.h(499): note: 参见“std::vector<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(51): warning C4251: “torch::optim::RMSprop::momentum_buffers”: class“std::vector<at::Tensor,std
::allocator<at::Tensor>>”需要有 dll 接口由 class“torch::optim::RMSprop”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\ATen/core/TensorBody.h(499): note: 参见“std::vector<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/rmsprop.h(52): warning C4251: “torch::optim::RMSprop::grad_average_buffers”: class“std::vector<at::Tensor
,std::allocator<at::Tensor>>”需要有 dll 接口由 class“torch::optim::RMSprop”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\ATen/core/TensorBody.h(499): note: 参见“std::vector<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/sgd.h(31): warning C4275: 非 dll 接口 class“torch::optim::Optimizer”用作 dll 接口 class“torch::optim::SGD
”的基
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/optimizer.h(100): note: 参见“torch::optim::Optimizer”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/sgd.h(31): note: 参见“torch::optim::SGD”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch\csrc\api\include\torch/optim/sgd.h(46): warning C4251: “torch::optim::SGD::momentum_buffers”: class“std::vector<at::Tensor,std::alloca
tor<at::Tensor>>”需要有 dll 接口由 class“torch::optim::SGD”的客户端使用
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\ATen/core/TensorBody.h(499): note: 参见“std::vector<at::Tensor,std::allocator<at::Tensor>>”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch/csrc/jit/script/jit_exception.h(10): warning C4275: 非 dll 接口 class“std::runtime_error”用作 dll 接口 struct“torch::jit::JITException
”的基
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.26.28801\include\stdexcept(117): note: 参见“std::runtime_error”的声明
C:\ProgramData\Anaconda3\envs\dl\lib\site-packages\torch\include\torch/csrc/jit/script/jit_exception.h(10): note: 参见“torch::jit::JITException”的声明
src/iou3d.cpp(40): warning C4244: “初始化”: 从“int64_t”转换到“int”,可能丢失数据
src/iou3d.cpp(41): warning C4244: “初始化”: 从“int64_t”转换到“int”,可能丢失数据
src/iou3d.cpp(36): warning C4996: 'c10::detail::deprecated_AT_CHECK': AT_CHECK is deprecated, use TORCH_CHECK instead.
src/iou3d.cpp(37): warning C4996: 'c10::detail::deprecated_AT_CHECK': AT_CHECK is deprecated, use TORCH_CHECK instead.
src/iou3d.cpp(38): warning C4996: 'c10::detail::deprecated_AT_CHECK': AT_CHECK is deprecated, use TORCH_CHECK instead.
src/iou3d.cpp(43): warning C4996: 'at::Tensor::data': Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead.
src/iou3d.cpp(44): warning C4996: 'at::Tensor::data': Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead.
src/iou3d.cpp(45): warning C4996: 'at::Tensor::data': Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead.
src/iou3d.cpp(61): warning C4244: “初始化”: 从“int64_t”转换到“int”,可能丢失数据
src/iou3d.cpp(62): warning C4244: “初始化”: 从“int64_t”转换到“int”,可能丢失数据
src/iou3d.cpp(57): warning C4996: 'c10::detail::deprecated_AT_CHECK': AT_CHECK is deprecated, use TORCH_CHECK instead.
src/iou3d.cpp(58): warning C4996: 'c10::detail::deprecated_AT_CHECK': AT_CHECK is deprecated, use TORCH_CHECK instead.
src/iou3d.cpp(59): warning C4996: 'c10::detail::deprecated_AT_CHECK': AT_CHECK is deprecated, use TORCH_CHECK instead.
src/iou3d.cpp(64): warning C4996: 'at::Tensor::data': Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead.
src/iou3d.cpp(65): warning C4996: 'at::Tensor::data': Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead.
src/iou3d.cpp(66): warning C4996: 'at::Tensor::data': Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead.
src/iou3d.cpp(80): warning C4244: “初始化”: 从“int64_t”转换到“int”,可能丢失数据
src/iou3d.cpp(100): error C2131: 表达式的计算结果不是常数
src/iou3d.cpp(84): note: 因读取超过生命周期的变量而失败
src/iou3d.cpp(84): note: 请参见“boxes_num”的用法
src/iou3d.cpp(77): warning C4996: 'c10::detail::deprecated_AT_CHECK': AT_CHECK is deprecated, use TORCH_CHECK instead.
src/iou3d.cpp(78): warning C4996: 'c10::detail::deprecated_AT_CHECK': AT_CHECK is deprecated, use TORCH_CHECK instead.
src/iou3d.cpp(81): warning C4996: 'at::Tensor::data': Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead.
src/iou3d.cpp(82): warning C4996: 'at::Tensor::data': Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead.
src/iou3d.cpp(130): warning C4244: “初始化”: 从“int64_t”转换到“int”,可能丢失数据
src/iou3d.cpp(150): error C2131: 表达式的计算结果不是常数
src/iou3d.cpp(134): note: 因读取超过生命周期的变量而失败
src/iou3d.cpp(134): note: 请参见“boxes_num”的用法
src/iou3d.cpp(127): warning C4996: 'c10::detail::deprecated_AT_CHECK': AT_CHECK is deprecated, use TORCH_CHECK instead.
src/iou3d.cpp(128): warning C4996: 'c10::detail::deprecated_AT_CHECK': AT_CHECK is deprecated, use TORCH_CHECK instead.
src/iou3d.cpp(131): warning C4996: 'at::Tensor::data': Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead.
src/iou3d.cpp(132): warning C4996: 'at::Tensor::data': Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead.
error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.26.28801\\bin\\HostX86\\x64\\cl.exe' failed with exit status 2