В настоящее время я использую mingw32-g ++. Exe (компилятор GNU GCC) для кодового блока, с -std = C ++ 14. Компилятор был загружен здесь: http://www.codeblocks.org/downloads/26
Однако, все учебные программы здесь не компилируются: https://eigen.tuxfamily.org/dox/group__TutorialLinearAlgebra.html
#include выполнено правильно. Только строки вычислений, такие как
Matrix2f x = A.ldlt().solve(b);
и Matrix2f x = A.ldlt().solve(b);
, не работают. Я также пытался использовать компилятор Intel C ++, но он все равно не работает.
Какие компиляторы я должен загрузить, чтобы использовать Eigen C ++?
Большое спасибо за вашу помощь
Обновление 1: , используя пример "Основное линейное решение", я получаю эту ошибку:
Файл IndexedViewHelper. h:
"неопределенная ссылка на Eigen :: fix <1>", строка 57
"неопределенная ссылка на Eigen :: fix <0>"
Обновление 2: , используя второй пример A.ldlt().solve(b)
, я получаю это:
"[пропуск 3 контекстов создания экземпляра, используйте -ftemplate-backtrace-limit = 0 для отключения]", строка 100
"[пропуск 3 контекстов создания экземпляра, используйте -ftemplate-backtrace-limit = 0 для отключения]", строка 90
...
Обновление 3: Полный код + компилятор: буквально один файл main.cpp + добавление собственной папки в каталог поиска
` #include <Eigen/Dense>
using namespace std;
using namespace Eigen;
int main()
{
Matrix2f A, b;
A << 2, -1, -1, 3;
b << 1, 2, 3, 1;
cout << "Here is the matrix A:\n" << A << endl;
cout << "Here is the right hand side b:\n" << b << endl;
Matrix2f x = A.ldlt().solve(b);
cout << "The solution is:\n" << x << endl;
}`