Создать постоянную матрицу Eigen (Eigen_Library) ОБЗОР

У меня есть проблема с определением некоторых постоянных векторов Eigen (eigen.tuxfamily.org) в заголовочном файле, но, очевидно, это скорее проблема компилятора, чем проблема, специфичная для Eigen ..

Определение этого в заголовочном файле:

const double[] hardcodedData = {1,2,3};
const Vector3d myConstVector(hardcodedData);

отлично работает с использованием Microsoft VC2010 через Cython / distutils (который я использую для тестирования).
После того, как файл заголовка включен, я могу получить доступ к myConstVectory из каждой функции / метода / любой другой и использовать его для расчетов.

Используя тот же код с:

Оптимизирующий компилятор Microsoft (R) C / C ++ версии 17.00.50727.1 для x64

который вызывается ABAQUS 6.13-2, программным обеспечением для конечных элементов,

каждый константный вектор инициализируется нулями! До сих пор я не нашел обходного пути, кроме как использовать что-то вроде этого:

const Vector3d myConstVector()
{
const static Vector3d vec(hardcodedData);
return vec;
}

Этот обходной путь в порядке, но не совсем то, что я намеревался сделать. Также у него есть некоторые накладные расходы.

Есть ли чистое решение для запуска «жестко запрограммированной» опции? Спасибо заранее!

1

Решение

Задача ещё не решена.

Другие решения