Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Поможите!!! Подключение Фортран-модулей к С++


Автор: ludmilas 22.12.2008, 16:02
Поможите скоренько!!!!!
C++ в Visual Studio 97. 
Есть тексты на фортране. 
Создала .obj под старым F77. (И еще  под 5.1). 
Стала подключать к VS 97 - не проходит линк.
Может, не совместимы версии ?  
Или опции особые?
Очень простой тестовый пример:
// PYTHAG.for
SUBROUTINE Pythag (a, b, c)
      REAL*4 a [VALUE]
      REAL*4 b [VALUE]
      REAL*4 c [REFERENCE]
      c = a * a + b * b
      END

// Fort.c
extern void __stdcall  PYTHAG (float a, float b, float *c);
main()
{
    float c;
    PYTHAG  (30, 40, &c);
    //printf("Hypotenuse if sides 30, 40 is: %f\n", c);
    return 0;
}
// компиляция PYTHAG --> PYTHAG.obj
fl /AH /c /FPi /4Nb /Od /Gt %1.for
// далее в VS 97  ввести в проект FORT  файлы PYTHAG.obj и LLIBFORE.lib
 После BUILD
LINK : error : Segment reference in fixup record
.\PYTHAG.OBJ : fatal error LNK1123: failure during conversion to COFF: file invalid or corrupt
Error executing link.exe.

Автор: NewDima 22.12.2008, 16:16
что бы ответить на ваш вопрос нужно как минимум знать всю последовательность ваших действий компиляции в фортране, ваш метод подключения модулей и вывод линкера.
P.S. я не говорю, что при наличии этих данных я смогу дать ответ, но той информации, которую предоставили, однозначно мало

Автор: jonie 23.12.2008, 09:28
хех... вы компилируете фортран на Intel fortran Compiler? думается мне что формат его obj файлов, никак не устроит майкрософтовский... если, конечно, этот компилятор не имеет поддержки вывода в M$ стиле...

Автор: ludmilas 23.12.2008, 11:00
Компиляция фортран-модуля была сделана Microsoft ® Fortran Professional Development System version 5.10

Автор: andrew_121 23.12.2008, 11:38
ludmilas, Предоставь всю имеющуюся у тебя информацию о твоем компилере. А так-же, вывод компилера при сборке твоего модуля.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)