1. 程式人生 > >boost庫和Eigen庫衝突的解決

boost庫和Eigen庫衝突的解決

作者:朱金燦

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

     再次編譯就沒有這個編譯錯誤了。