Здравствуйте Nondefine, Вы писали:
N>Есть такая проблема. В фортрановском файлике определена функция:
N>INTEGER*4 function my()
...
N>Потом ее нужно вызвать из сишного:
N>extern int __stdcall my();
N>В результате при линковке всего этого дела в VC 6.0 с встроенным Compac Visual Fortran 6.1 получаю unresolved external _my.
N>Как с этим бороться?
Ответа я не знаю. Сразу говорю. Но можно попытаться.
Возможно, дело в декорировании имен. Либо в несоответствии соглашений о вызовах. В первом случае ни в одном из прилинкованных obj-файлов не будет найдена функция, требуемая С-шным компилятором. (можно поискать любым текстовым редактором соответствие)
Можно попытаться посмотреть (в map-файле), во что преобразуется имя my. Возможно, поможет вставка "C" между extern и int:
extern "C" int __stdcall my();
Возможно, что и не поможет. Если точно не известно, что фортранные функции имеют соглашение о вызовах __stdcall, то можно попробовать __cdecl.