作者:朱金灿
在使用vs2013编写一个程序中同时使用boost库和Eigen库,出现一个编译错误:
错误 C2039 “setConstant”: 不是“Eigen::PlainObjectBase<Derived>”的成员 AlgoDefine d:\src\thirdpartylib\eigen\include\src\Core\CwiseNullaryOp.h
开始百思不得其解,后来想到可能是boost库和Eigen库存在一些定义冲突。开始是将boost库的包含头文件放在Eigen库包含头文件的前面,现在改为:
#include <Dense>
#include "Ublas.h"
#include <boost/numeric/ublas/vector_proxy.hpp>
#include <boost/numeric/ublas/triangular.hpp>
#include <boost/numeric/ublas/lu.hpp>
#include <boost/numeric/ublas/io.hpp>
再次编译就没有这个编译错误了。