включаютуспешно, включить <Eigen>не удалось - PullRequest
0 голосов
/ 12 июня 2018

Мой вопрос похож на этот 5-летний вопрос .

Я могу успешно скомпилировать его, если использую следующий код:

#include <Eigen/Dense>
#include <iostream>
//#include <boost/serialization/array_wrapper.hpp>
#include <boost/date_time/gregorian/gregorian.hpp>

int main(){
        std::cout<<"asfserea"<<std::endl;
        boost::gregorian::date d(boost::gregorian::day_clock::local_day());
        std::cout << d.year() << d.month() <<d.day() << std::endl;
        return 0;
}

Но я получилошибки после того, как я изменил аннотацию с #include <Eigen/Dense> на #include <Eigen>, с #include <boost/date_time...> на #include <boost/serialization...>:

enter image description here

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Когда вы #include <Eigen>, ваш компилятор просматривает каталоги, о которых вы сказали, для файла с именем Eigen.Он находит только папку с именем Eigen и в этой папке , есть файлы Eigen и Dense.Он не смотрит внутри этой папки.

Если вы измените параметры компилятора, включив в него папку Eigen (а не ее родительскую), вы можете #include <Eigen> и #include <Dense>.Кроме того, вы можете сохранить ваши каталоги включения как есть, и добавить Eigen/ ко всем собственным Eigen включает

0 голосов
/ 12 июня 2018

Файл, который вы ищете - <Eigen/Eigen>.Если вы хотите включить <Eigen>, вы должны добавить правильную папку в ваш путь включения.

Для array_wrapper.hpp вам нужна более новая версия Boost.По крайней мере, версия 1.67.0 имеет этот файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...