VS2019+Eigen3.3.9+CUDA11.9编译OpenMVS2.0遇到以下报错

calling a __host__ function("Eigen::MatrixBase< ::Eigen::Matrix<float, (int)3, (int)3, (int)0, (int)3, (int)3> > ::inverse() const") from a __device__ function("ComputeHomography") is not allowed

解决方法1:

Eigen3.3.9不行,换Eigen3.4。
https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip

方法2:

修改Eigen3.3.9下的文件 …\eigen3\Eigen\src\LU\InverseImpl.h
第335行新加一句EIGEN_DEVICE_FUNC,使得inverse()函数同时在host和device函数中使用

template<typename Derived>
EIGEN_DEVICE_FUNC
inline const Inverse<Derived> MatrixBase<Derived>::inverse() const
{EIGEN_STATIC_ASSERT(!NumTraits<Scalar>::IsInteger,THIS_FUNCTION_IS_NOT_FOR_INTEGER_NUMERIC_TYPES)eigen_assert(rows() == cols());return Inverse<Derived>(derived());
}

Eigen库矩阵的求逆函数无法在CUDA代码使用相关推荐

  1. C++Eigen库矩阵常见操作

    描述 使用C++语言的Eigen库进行一些常见操作 使用库时,请一定注意两点 定义清楚矩阵类型 矩阵乘法注意尺寸对应 代码 头文件声明 #include <Eigen/Dense> 1. ...

  2. 矩阵库eigen的用法(三)————求行列式值和三角分解求线性方程组的解

    在经过前面2篇对 eigen库的基础知识了解之后,下面就可以用eigen库进行一些实际的操作了. 1.计算矩阵行列式的值 在Eigen里你不能混合两种不同类型的矩阵,像这样是错的 v_3d <& ...

  3. Eigen入门系列 —— Eigen::Matrix矩阵点乘、叉乘、转置、求逆、求和、行列式、迹、数乘

    Eigen入门系列 -- Eigen::Matrix矩阵点乘.叉乘.转置.求逆.求和.行列式.迹.数乘 前言 程序说明 输出结果 代码示例 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D ...

  4. matlab和Eigen库中的一些旋转矩阵(方向余弦矩阵)、四元数和欧拉角之间的转换和绘图的注意事项

    最近用matlab和Eigen库中的一些旋转矩阵(方向余弦矩阵).四元数和欧拉角之间的转换和绘图,弄得我有些头疼,把遇到的问题记录一下,以防以后又脑阔疼....有不同的理解可以再评论区批评指正- 主要 ...

  5. ROS中使用Eigen库[不定期更新]

    前期说明 ROS中的数据操作需要线性代数,Eigen库是C++中的线性代数计算库. Eigen库独立于ROS,但是在ROS中可以使用. Eigen库可以参见http://eigen.tuxfamily ...

  6. eigen库学习笔记

    #简介 Eigen是有关线性代数(矩阵.向量等)的c++模板库.支持SSE2/3/4, ARM NEON (32-bit and 64-bit), PowerPC AltiVec/VSX (32-bi ...

  7. 使用eigen库进行空间变换

    使用eigen库进行空间变换 在三维空间中,常常需要变换当前机器人的位姿计算定义的绝对坐标系和当前机器人所处相对坐标系之间的关系.而主要的变换则是平移和旋转,有时候可能需要尺度变换,那么就可以描述为: ...

  8. Day2 : SLAM Eigen库的入门学习教程(CS2240 Interactive Computer Graphics)

    Eigen库介绍 Eigen is an open-source linear algebra library implemented in C++. It's fast and well-suite ...

  9. VS2017使用Eigen库

    在 C++ 中,向量类型通常由库提供.C++ 标准库中的 <vector> 头文件提供了一个向量容器 std::vector,但它并不是数学意义上的向量类型,而是一种可变大小的数组容器.如 ...

最新文章

  1. Python常用函数与技巧总结(三)
  2. C#多线程学习5——多线程的自动管理(定时器)
  3. Ubuntu 下面部署Django 项目
  4. python图片-Python图片处理
  5. 35. Search Insert Position
  6. RHEL 6.3使用CentOS yum源 (redhat yum安装失败)
  7. 微型计算机,单片机和单板机是,9、微型计算机、单片机和单板机是()
  8. 浅谈MVC设计模式和SSH框架的关系
  9. 深入mysql语言_MySQL对数据操作的一些深入语法
  10. 原来,我们的时间这样被科技巨头们瓜分(转)
  11. jquery中如何获得时间
  12. Logistic回归模型(C++代码实现)
  13. Win11字体显示不全怎么解决?
  14. 知了课堂项目初始化数据库 进行数据迁移
  15. 《微电子概论》 PN结与二极管
  16. 22年春福师《数学分析选讲》在线作业二
  17. 计算机找不到链接打印机主机,添加打印机找不到任何端口,怎么办
  18. numpy浅拷贝与深拷贝
  19. 网络对抗技术 实验一
  20. win系统cpu温度获取

热门文章

  1. node检测端口是否被占用
  2. Keil 创建工程模板及精简第一个FreeRTOS程序
  3. linux离线安装python3.6_Linux下安装Python3.6及避坑指南
  4. 511遇见易语言取字节集长度取字节集数据到字节集
  5. 以太坊, FOMO3D ,危险的博弈游戏
  6. 创新型智慧农业信息化系统建设方案
  7. 我的嵌入式软件开发框架浅见
  8. QTP无法录制IE浏览器的web操作
  9. 无人商店崛起 芯片设计的下一个机遇?
  10. Bert-chinese使用GPU运算