Eigen库和STL容器冲突问题
Posted flyinggod
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Eigen库和STL容器冲突问题相关的知识,希望对你有一定的参考价值。
博客参考:https://blog.csdn.net/huajun998/article/details/54311561
在程序中想使用类似于如下的容器
std::vector<Eigne::vector4f> centroids;
编译不通过,主要是访问centriods的时候,程序直接访问内存错误。原因是Eigen库使用了SSE加速,需要按照128位对齐,这导致了fixed-size vectorizable Eigen object必须16字对齐,例如Eigen库重载了new操作,然而有些情况这写对齐设置被覆盖了,造成了上述断言错误。
解决方式
#include<Eigen/StdVector> std::vector<Eigen::vector4f,Eigen::aligned_allocator<Eigen::vector4f> >
按照以上方式申请容器即可解决
以上是关于Eigen库和STL容器冲突问题的主要内容,如果未能解决你的问题,请参考以下文章