Skip to content

Open3D-0.18.0\cpp\open3d\ml\impl\continuous_conv\ContinuousConvTranspose.h(73,45): error C2975: “Rows_”:“Eigen::Array”的模板参数无效,应为编译时常量表达式 #6767

Open
@zwenjiang

Description

@zwenjiang

Checklist

Steps to reproduce the issue

I first cloned Open3D by:

git clone https://github.com/isl-org/Open3D.git
cd Open3D

Then, I build Open3D (on Windows 11 家庭中文版, no with CUDA) with:

mkdir build
cd build
cmake -DGLIBCXX_USE_CXX11_ABI=OFF -DBUILD_PYTORCH_OPS=ON -DBUNDLE_OPEN3D_ML=ON -DOPEN3D_ML_ROOT=https://github.com/isl-org/Open3D-ML.git ..

then open project and buiding release version by Microsoft Visual Studio Community 2022 (64 bit) - Current
version 17.9.6

Error message

71>pybind_utils.cpp
72>D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\impl\continuous_conv\ContinuousConvTranspose.h(73,45): error C2975: “Rows_”:“Eigen::Array”的模板参数无效,应为编译时常量表达式
72>(编译源文件“../../../cpp/open3d/ml/pytorch/continuous_conv/ContinuousConvTransposeOpKernel.cpp”)
72>D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\build\eigen\src\ext_eigen\Eigen\src\Core\Array.h(46,32):
72>参见“Rows_”的声明
72>D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\impl\continuous_conv\ContinuousConvTranspose.h(73,45):
72>模板实例化上下文(最早的实例化上下文)为
72>	D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\pytorch\continuous_conv\ContinuousConvTransposeOpKernel.cpp(81,1):
72>	查看对正在编译的函数 模板 实例化“void ContinuousConvTransposeCPU<float,float,float,int32_t>(const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const bool,const open3d::ml::impl::CoordinateMapping,const bool,const open3d::ml::impl::InterpolationMode,const int64_t,at::Tensor &)”的引用
72>	D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\pytorch\continuous_conv\ContinuousConvTransposeOpKernel.cpp(44,5):
72>	查看对正在编译的函数 模板 实例化“void open3d::ml::impl::CConvTransposeComputeFeaturesCPU<TFeat,TOut,TReal,TIndex>(TOut *,const std::vector<int,std::allocator<int>> &,const TFeat *,size_t,const TReal *,const TFeat *,size_t,const TReal *,const TFeat *,const TFeat *,const int64_t *,size_t,const TIndex *,const TFeat *,const int64_t *,const TReal *,const TReal *,open3d::ml::impl::InterpolationMode,open3d::ml::impl::CoordinateMapping,bool,bool,bool,bool)”的引用
72>        with
72>        [
72>            TFeat=float,
72>            TOut=float,
72>            TReal=float,
72>            TIndex=int32_t
72>        ]
72>	D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\impl\continuous_conv\ContinuousConvTranspose.h(357,5):
72>	查看对正在编译的函数 模板 实例化“void open3d::ml::impl::_CConvTransposeComputeFeaturesCPU<TFeat,TOut,TReal,TIndex,open3d::ml::impl::InterpolationMode::LINEAR,open3d::ml::impl::CoordinateMapping::BALL_TO_CUBE_RADIAL,true,true,true,true>(TOut *,const std::vector<int,std::allocator<int>> &,const TFeat *,size_t,const TReal *,const TFeat *,size_t,const TReal *,const TFeat *,const TFeat *,const int64_t *,size_t,const TIndex *,const TFeat *,const int64_t *,const TReal *,const TReal *)”的引用
72>        with
72>        [
72>            TFeat=float,
72>            TOut=float,
72>            TReal=float,
72>            TIndex=int32_t
72>        ]
72>D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\impl\continuous_conv\ContinuousConv.h(75,45): error C2975: “Rows_”:“Eigen::Array”的模板参数无效,应为编译时常量表达式
72>(编译源文件“../../../cpp/open3d/ml/pytorch/continuous_conv/ContinuousConvOpKernel.cpp”)
72>D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\build\eigen\src\ext_eigen\Eigen\src\Core\Array.h(46,32):
72>参见“Rows_”的声明
72>D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\impl\continuous_conv\ContinuousConv.h(75,45):
72>模板实例化上下文(最早的实例化上下文)为
72>	D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\pytorch\continuous_conv\ContinuousConvOpKernel.cpp(69,1):
72>	查看对正在编译的函数 模板 实例化“void ContinuousConvCPU<float,float,float,int32_t>(const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const at::Tensor &,const bool,const open3d::ml::impl::CoordinateMapping,const bool,const open3d::ml::impl::InterpolationMode,const int64_t,at::Tensor &)”的引用
72>	D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\pytorch\continuous_conv\ContinuousConvOpKernel.cpp(39,5):
72>	查看对正在编译的函数 模板 实例化“void open3d::ml::impl::CConvComputeFeaturesCPU<TFeat,TOut,TReal,TIndex>(TOut *,const std::vector<int,std::allocator<int>> &,const TFeat *,size_t,const TReal *,size_t,const TReal *,const TFeat *,const TFeat *,size_t,const TIndex *,const TFeat *,const int64_t *,const TReal *,const TReal *,open3d::ml::impl::InterpolationMode,open3d::ml::impl::CoordinateMapping,bool,bool,bool,bool)”的引用
72>        with
72>        [
72>            TFeat=float,
72>            TOut=float,
72>            TReal=float,
72>            TIndex=int32_t
72>        ]
72>	D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\impl\continuous_conv\ContinuousConv.h(351,5):
72>	查看对正在编译的函数 模板 实例化“void open3d::ml::impl::_CConvComputeFeaturesCPU<TFeat,TOut,TReal,TIndex,open3d::ml::impl::InterpolationMode::LINEAR,open3d::ml::impl::CoordinateMapping::BALL_TO_CUBE_RADIAL,true,true,true,true>(TOut *,const std::vector<int,std::allocator<int>> &,const TFeat *,size_t,const TReal *,size_t,const TReal *,const TFeat *,const TFeat *,size_t,const TIndex *,const TFeat *,const int64_t *,const TReal *,const TReal *,bool)”的引用
72>        with
72>        [
72>            TFeat=float,
72>            TOut=float,
72>            TReal=float,
72>            TIndex=int32_t
72>        ]
72>D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\impl\continuous_conv\ContinuousConvTranspose.h(79,37): error C2975: “Rows_”:“Eigen::Array”的模板参数无效,应为编译时常量表达式
72>(编译源文件“../../../cpp/open3d/ml/pytorch/continuous_conv/ContinuousConvTransposeOpKernel.cpp”)
72>D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\build\eigen\src\ext_eigen\Eigen\src\Core\Array.h(46,32):
72>参见“Rows_”的声明
72>D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\cpp\open3d\ml\impl\continuous_conv\ContinuousConv.h(81,37): error C2975: “Rows_”:“Eigen::Array”的模板参数无效,应为编译时常量表达式
72>(编译源文件“../../../cpp/open3d/ml/pytorch/continuous_conv/ContinuousConvOpKernel.cpp”)
72>D:\VPN\FeiruiRobots\myVision\tags\Open3D-0.18.0\build\eigen\src\ext_eigen\Eigen\src\Core\Array.h(46,32):
72>参见“Rows_”的声明

Open3D, Python and System information

- Operating system: Ubuntu 20.04 / macOS 10.15 / Windows 10 64-bit
- Python version: Python 3.8 / output from `import sys; print(sys.version)`
- Open3D version: output from python: `print(open3d.__version__)`
- System architecture: x86 / arm64 / apple-silicon / jetson / rpi
- Is this a remote workstation?: yes or no
- How did you install Open3D?: pip / conda / build from source
- Compiler version (if built from source): gcc 7.5 / clang 7.0

Additional information

i need to use specify versions of the ML frameworks by build Open3D from source on Windows

Metadata

Metadata

Assignees

No one assigned

    Labels

    build/installBuild or installation issue

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions