[win] ICC+IFC, трабла с именами в obj-файлах и соотв-но не линкуется

okunek

icc, ifc - 9.1, винда.
есть код - несколько фортрановских файлов + один с++
в одном из .f файлов вызывается функция (например) isot2file
ifc записывает в obj-файл ее имя, как _isot2file
эта функция реализована в .cpp файле, но при этом icc записывает ее имя (в obj-файле как _isot2file_
соответственно, ничего не линкуется
как заставить один из компиляторов генерировать имена используемых извне функций так, чтобы они совпадали с именами, которые генерирует второй компилятор и соответственно, чтобы потом все нормально линковалось?
собственно, последовательность, как что компилируется:

ifort /MT /w /c mods.f misc.f po...(куча .f файлов)
icl /MT /w /c isob.c
xilink /OUT:"fds.exe" isob.obj mods.obj misc.obj po... (куча .obj файлов)

mira-bella


extern "c" SOME_TYPE isot2file(...)

в C++ проге должно помочь
а вообще, нужно ли непременно использовать C++, а не например C?

okunek

>а не например C?
как раз именно его (ну или походу добавить extern "c", не стал пробовать...)
вопрос закрыт
спасибо
Оставить комментарий
Имя или ник:
Комментарий: