Usando o Visual Studio combinado com a Intel fortran, como resolver usando com diferentes tipos de mangas de nome

StackOverflow https://stackoverflow.com/questions/3815992

Pergunta

Eu obtive o programa que é uma malha adorável do Código Fortran e C. Para que este programa compile requer uma série de bibliotecas que sejam pré -compiladas do fornecedor de software. Isso incluiu, entre outros, Intel Mkl, Mpich2 etc. No Linux, tudo funciona muito bem. Mas no Windows estou preso:

Usando a linha de comando, posso compilar o programa usando o IFORT de duas das seguintes maneiras:
[UMA] ifort /qlowercase /assume: sublinhado .......
[B] ifort /quppercase /assume: nounderscore ........

Se eu decidi fazer com a opção UMA, Vou obter uma série de símbolos ausentes, pois algumas das bibliotecas externas são compiladas usando o nounderscore maiúsculas e não consigo resolver esses símbolos. Da mesma forma, se eu for com opção B, outras bibliotecas externas reclamarão, pois são compiladas usando o minúsculo com um sublinhado.

Existe alguma maneira de refazer os símbolos/funções durante o estado do link? Existe alguma alternativa?

Foi útil?

Solução

Se você usar a ligação ISO C no seu código -fonte Fortran, poderá especificar exatamente o nome da rotina C a ser chamada. Inclua um sublinhado ou não, conforme apropriado para a rotina específica. O "nome de ligação" também é sensível ao caso, para que você também possa controlar esse aspecto dos nomes de rotina. Em seguida, use a opção do compilador para que o compilador não altere ainda mais os nomes.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top