Cannot turn on Eigen and boost / regex at the same time

I can turn on each library separately, but as soon as I try to turn them on at the same time, I get a lot of errors. I am using Boost v1_55_0 and Eigen v3.2.1. Any idea what could be the problem?

My inclusions are as follows:

#include <boost/regex.hpp>
#include <Eigen>

I insert the first two errors below, there are more than 100 of them.

Error   1   error C1189: #error :  The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core.   c:\local\eigen\array    8   1   Project1
2   IntelliSense: #error directive: The Eigen/Array header does no longer exist in Eigen3. All that functionality has moved to Eigen/Core.  c:\local\Eigen\Array    8   4   Project1
3   IntelliSense: expected a declaration    c:\local\boost_1_55_0\boost\functional\hash\extensions.hpp  160 13  Project1
4   IntelliSense: expected a declaration    c:\local\boost_1_55_0\boost\functional\hash\extensions.hpp  162 5   Project1
5   IntelliSense: expected a declaration    c:\local\boost_1_55_0\boost\functional\hash\extensions.hpp  377 1   Project1
6   IntelliSense: expected a declaration    c:\local\boost_1_55_0\boost\regex\v4\basic_regex.hpp    59  7   Project1
7   IntelliSense: expected a declaration    c:\local\boost_1_55_0\boost\regex\v4\basic_regex.hpp    100 7   Project1
8   IntelliSense: identifier "name" is undefined    c:\local\boost_1_55_0\boost\regex\v4\basic_regex.hpp    108 24  Project1
9   IntelliSense: explicit type is missing ('int' assumed)  c:\local\boost_1_55_0\boost\regex\v4\basic_regex.hpp    111 4   Project1
10  IntelliSense: a type qualifier is not allowed on a nonmember function   c:\local\boost_1_55_0\boost\regex\v4\basic_regex.hpp    136 21  Project1
11  IntelliSense: a type qualifier is not allowed on a nonmember function   c:\local\boost_1_55_0\boost\regex\v4\basic_regex.hpp    146 33  Project1
12  IntelliSense: expected a declaration    c:\local\boost_1_55_0\boost\regex\v4\basic_regex.hpp    151 1   Project1
13  IntelliSense: expected a declaration    c:\local\boost_1_55_0\boost\regex\v4\basic_regex.hpp    153 1   Project1
+4
source share
1 answer

Boost includes a C ++ 11 std::arrayheader array, but your include path collects a header array(<clearly outdated) from Eigen. You must be in a file system that does not distinguish between files in each case.

It seems like the correct way to include the Eigen header:

#include <Eigen/Eigen>

., , . include, , Eigen/, , Eigen/ .

+5

Source: https://habr.com/ru/post/1543690/


All Articles