Я пытаюсь включить minpack, который написан на FORTRAN и используется для решения методом наименьших квадратов недоопределенных математических задач, в мое решение формы окна С#.
Я читал, что можно скомпилировать подпрограммы minpack fortran, которых 7 (все в отдельных файлах), в .dll, которую я затем могу добавить в качестве ссылки на мою программу на С# в Visual Studio 2012.
Я пытался сделать это сейчас в течение 2 дней без особой удачи. Я скачал GCC GNU для компиляции файлов фортрана. Мои шаги до сих пор:
1) скомпилируйте файлы fortran в файлы общего формата объектных файлов (COFF *.o), используя синтаксис «gcc -c filename1.f» в командной строке mingw64env для всех 7 файлов.
2) Затем я скомпилировал эти файлы вместе в общий исполняемый файл, используя синтаксис "gcc -shared -o mindpack.dll имя_файла1.o имя_файла2.o имя_файла3.o..."
это выводит файл .dll без сообщений об ошибках.
3) Но когда я пытаюсь добавить его в качестве ссылки на мой проект форм Windows (С#), я получаю сообщение об ошибке «Не удалось добавить ссылку на« * .dll ». Пожалуйста, убедитесь, что файл доступен и что это допустимая сборка или COM-компонент».
4) одним из предложений исправить это было найти файл C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\TlbImp.exe и выполнить его с синтаксисом "TlbImp.exe minpack.dll ", но это дает ошибку "TlbImp: ошибка T10000: входной файл" C:\mingw64\minpack.dll'не является допустимой библиотекой типов.
Может ли кто-нибудь указать мне правильное направление, поскольку я только начал изучать С#, и некоторые из онлайн-решений мне не по плечу с такими вещами, как файлы заголовков и файлы DEF, я не уверен, что они вообще актуальны.
Если бы кто-то мог выложить решение для преобразования набора подпрограмм fortran в один файл .dll, который можно вызывать из С#, желательно с использованием GCC GNU (или какого-либо другого бесплатного программного обеспечения), он был бы очень признателен.
Заранее спасибо.