作者:朱金灿

        在使用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>

     再次编译就没有这个编译错误了。