Использование Visual Studio в сочетании с Intel Fortran, как решить использование с различными типами изменения имен

Я получил программу, которая представляет собой прекрасную сетку кода Фортрана и Си. Для компиляции этой программы требуется ряд библиотек, которые предварительно скомпилированы поставщиком программного обеспечения. Сюда входят, среди прочего, Intel MKL, MPICH2 и т. Д. В Linux все работает нормально. Но на окнах я застрял:

Используя командную строку, я могу скомпилировать программу с помощью ifort двумя из следующих способов:
[A] ifort / Qlowercase / accept: underscore .......
[ B] ifort / Quppercase / accept: nounderscore ........

Если я выберу опцию A, я получу серию пропущенных символов, поскольку некоторые внешние библиотеки скомпилированы с использованием верхнего регистра nounderscore, и я не могу разрешить эти символы. Точно так же, если я выберу вариант B, другие внешние библиотеки будут жаловаться, поскольку они скомпилированы с использованием строчных букв с подчеркиванием.

Есть ли способ переназначить символы / функции во время состояния ссылки? Есть ли альтернатива?


person Smidstrup    schedule 28.09.2010    source источник


Ответы (1)


Если вы используете привязку ISO C в исходном коде Fortran, вы можете точно указать имя вызываемой процедуры C. Включите подчеркивание или нет, в зависимости от конкретного распорядка. «Имя привязки» также чувствительно к регистру, поэтому вы также можете управлять этим аспектом имен подпрограмм. Затем используйте параметр компилятора, чтобы компилятор больше не менял имена.

person M. S. B.    schedule 28.09.2010
comment
Хорошо, я приложил некоторые усилия, но это решило. На самом деле, с привязкой к ISO я могу компилировать с любыми комбинациями манипуляций. Спасибо! - person Smidstrup; 29.09.2010