Я использую 64-битный компилятор TDM GCC в Windows
Мои заголовки
#include "lapacke.h"
#include "lapacke_config.h"
У меня есть простой код, подобный этому
lapack_complex_double x = {8.0, 6.0};
printf( "x = (%6.2f,%6.2f)\n", x.real, x.imag);
Прежде всего, это дает мне следующую ошибку и предупреждение
warning: excess elements in scalar initializer
lapack_complex_double x = {8.0, 6.0};
&
error: request for member 'real' in something, not a structure or union
printf( "x = (%6.2f,%6.2f)\n", x.real, x.imag);
Я изменил код следующим образом
lapack_complex_double x = {8.0, 6.0};
printf( "x = (%6.2f,%6.2f)\n", lapack_complex_double_real(x),
lapack_complex_double_imag(x) );
код был скомпилирован с тем же упомянутым предупреждением, но в результате получается
x = ( 8.00, 0.00)
Похоже, что предупреждение является важной ошибкой.