Я пытаюсь скомпилировать файлы LAPACK Fortran с компилятором LF Fortran в Visual STudio 2013 для создания .NET DLL.Неверная операция Ошибка при компиляции файлов Lapack Fortran с LF Fortran в VS2013
Я успешно скомпилировал пакет BLAS, который является зависимостью для LAPACK.
Но при составлении LaPack файлов, я получаю «Недопустимая операция» для утверждения:
CALL CLA_GBRFSX_EXTENDED(PREC_TYPE, TRANS_TYPE, N, KL, KU,
$ NRHS, AB, LDAB, AFB, LDAFB, IPIV, COLEQU, C, B,
$ LDB, X, LDX, BERR, N_NORMS, ERR_BNDS_NORM,
$ ERR_BNDS_COMP, WORK, RWORK, WORK(N+1),
$ TRANSFER (RWORK(1:2*N), (/ (ZERO, ZERO) /), N),
$ RCOND, ITHRESH, RTHRESH, UNSTABLE_THRESH, IGNORE_CWISE,
$ INFO)
Я проверил типы аргументов с теми, в подпрограмме CLA_GBRFSX_EXTENDED. Все они одинаковы, но кроме возвращаемого значения оператора «TRANSFER (RWORK (1: 2 * N), (/ (ZERO, ZERO) /), N)».
У меня есть определить переменную как
COMPLEX Y_TAIL_ATE(1:2*N)
и наполнили его как
Y_TAIL_ATE = TRANSFER (RWORK(1:2*N), (/ (ZERO, ZERO) /), N)
И называется подпрограммой как
CALL CLA_GBRFSX_EXTENDED(PREC_TYPE, TRANS_TYPE, N, KL, KU,
$ NRHS, AB, LDAB, AFB, LDAFB, IPIV, COLEQU, C, B,
$ LDB, X, LDX, BERR, N_NORMS, ERR_BNDS_NORM,
$ ERR_BNDS_COMP, WORK, RWORK, WORK(N+1),
$ Y_TAIL_ATE,
$ RCOND, ITHRESH, RTHRESH, UNSTABLE_THRESH, IGNORE_CWISE,
$ INFO)
Теперь компилятор дает ту же ошибку для
Y_TAIL_ATE = TRANSFER (RWORK(1:2*N), (/ (ZERO, ZERO) /), N)
я понял, что проблема заключается в
TRANSFER (RWORK(1:2*N), (/ (ZERO, ZERO) /), N)
Поскольку мои знания о C#, я не могу понять решение. Но мой код C# должен использовать LAPACK, и я должен решить эту проблему.
Есть ли идея решения?
Спасибо заранее ...
Как точно выглядит код, который вы компилируете, и как выглядит сообщение об ошибке? –
Захват экрана проекта в VS2013 и сообщения об ошибках по этой ссылке: https://drive.google.ком/файл/d/0B2lAUX8zuUudMllqVGxURV9TTXc/вид? УСП = обмен –