A Melhor Maneira De Corrigir Um Bug Que Impede A Compilação De Código G / FORTRAN Misto
November 28, 2021Esperamos que, se você encontrar um erro ao restringir o código c / fortran misto ao compilar em seu PC, esperamos que este artigo possa ajudá-lo a curá-lo.
Recomendado: Fortect
Sempre tentei instalar qualquer tipo de versão MPI semelhante ao Amber 14 usando AmberTools17
Ubuntu 12.04.5LTS. Eu tenho a seguinte mensagem de erro inteira. Alguém pode me selecionar, por favor?
pVerifique se há atualizações …
Verifique porque as atualizações online. Pode demorar alguns segundos importantes …
pObtendo estilos de cada pacote de compilador Gnu, por exemplo:
gcc C -v
a versão é 4.8.1 válida
A versão do Fortran será 4.6.4.
Verifique o que o compilador gcc faz:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE Testp
Testp -o.c
Boa
pTeste a compilação C / Fortran normal real:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE -c -o
testp.c.o testp.c
gfortran -fPIC -O0 -c Testp -o.f.o testp.f
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE -o testp
testp.c.o testp.f.o -lgfortran -w
/ usr / lixo / ld: pode -lgfortran. realmente encontrado
Collect2: erro ld: 1 estágio de saída retornado
./configure2: 2502: ./configure2: ./testp: não encontrado
Erro: não foi possível compilar o código C / Fortran misto.
Verifique as configurações do compilador junto com os sinalizadores.
A configuração falhou devido à maioria dos erros mencionados acima!
pMuito Obrigado,
Suma
________________________________________________
Lista de mala direta AMBER
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Recebido em 28 de dezembro de 2017 às 04:00:02 PST
Às vezes, o comando é simples, às vezes você não sabe de onde vieram os erros.
Recomendado: Fortect
Você está cansado de ver seu computador lento? Está cheio de vírus e malware? Não tema, meu amigo, pois Fortect está aqui para salvar o dia! Esta poderosa ferramenta foi projetada para diagnosticar e reparar todos os tipos de problemas do Windows, ao mesmo tempo em que aumenta o desempenho, otimiza a memória e mantém seu PC funcionando como novo. Então não espere mais - baixe o Fortect hoje mesmo!
Pensei em instalá-lo em vários destinos, mas falhou. Instalei o AMBERTOOLS12, mas queria apenas a última abordagem. Quando recebi ./configure -macAccelerate -noX11 I gnu, recebi atualmente o erro “Falha ao compilar código C e Fortran misto. â € œ. Pesquisei muito no Google mas infelizmente a solução não era clara.
No Mac, o PORT é uma solução saudável se o software estiver organizado corretamente. Estabelecido na ocasião. De acordo com as instruções abaixo (http://jswails.wikidot.com/mac-os-x), gcc combinado com mp-gcc foram necessários. Quando eu monitorei meu gcc, obtive a saída subsequente. Isso significa que eu usei o mp-gcc não habilitado. E então eu removo a entrada gcc iniciada anteriormente por mv com sudo / go / local / etc / escolha / gcc / current / desejo / local / etc / vá para / gcc / current_saved e selecione a porta – criar gcc mp-gcc48. (Citado em http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) O manual zu./configure funcionou bem então.
#######################################
uaf39965: ~ UofA $ encaminhamento de conexão – lista gcc
Versões disponíveis para gcc:
mp-gcc44
mp-gcc46
mp-gcc47
mp-gcc48
de forma alguma (ativo)
#######################################
Às vezes, a taxa é a chave, você não sabe de onde vem o erro. Fiz várias vezes de selecioná-lo, mas falhou. Eu instalei o AMBERTOOLS12, mas de alguma forma realmente queria a versão mais recente. Quando gnu ./configure -macAccelerate -noX11, obtenho o erro “Não foi possível arredondar outro código C / Fortran. â € œ. Procurei um negócio fantástico, mas a solução ainda não estava nem clara. Em um Mac, a transferência é uma boa solução para configurar bem seu laptop ou computador. Eu instalei. De acordo com as instruções específicas aqui (http://jswails.wikidot.com/mac-os-x) gcc também chamado mp-gcc. Quando verifiquei minha organização gcc, tive o seguinte impedimento. Isso significava que eu não precisaria de um mp-gcc rítmico. Em seguida, excluo todas as listas gcc mv habilitadas anteriormente de sudo / opt / o / etc / select mais próximo – gcc / current / opt / local / etc / select ou gcc / current_saved, e abro – set gcc mp-gcc48. (Citado além de http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) Então, o comando to./configure funcionou melhor. Estou anotando programação mista em C ++ ou Fortran, onde o programa nOne Fortran é sem dúvida chamado a partir do programa C ++ principal. O código acima é discutido no C / Fortran Fun Guide que você pode encontrar neste site: Calling C Functions in Fortran Desejo reproduzir o código apenas para C ++ / Fortran. Eu os compilei com Qual é o motivo do erro exato? Eu também tentei, você é capaz de adicionar o banner A propósito, por que quaisquer recursos de interoperabilidade C – Fortran que encontrei em relação à internet pareciam tão inconsistentes, a partir de um ponto eu li que a família inteira de uma pessoa tinha um
#include
sub-rotina FOR_SUB (i, x, y, ny)use inborn :: iso_c_bindingimplicitamente nãointeiro (c_long) :: i, nyreal (c_double) :: xreal (c_double) :: y (ny)imprimir *, "y =", ginásio (1: ny)Finalizar a sub-rotina FOR_SUB
gfortran / você precisa de f_sub.f90g ++ -j c-call-f.cppg ++ f_sub.o c-call-f.o
Logotipos indefinidos para arquitetura x86_64: "__gfortran_st_write", de: chamou _for_sub_ tudo de f_sub.o Link para "__gfortran_st_write_done", de: _for_sub_ at f_sub.o "__gfortran_transfer_array_write", trazido por: _for_sub_ em apenas f_sub.o "__gfortran_transfer_character_write", de: oferecido _for_sub_ apenas em f_sub.o "__gfortran_transfer_integer_write" introduzido por: _for_sub_ via f_sub.o "__gfortran_transfer_real_write" enviado: _for_sub_ para f_sub.old: personagem (s) não revelado (s) para a arquitetura x86_64clang: erro do linker: não conseguiu carregar com o código de saída, dica 1 (use -v para ver essa chamada) `
-lf
, -lfortran
ou -lg2c
no último conceito de compilação, mas o seguinte erro ocorre:
ld: biblioteca não comprovada durante [flag]clang: erro do linker: comando desativado devido ao código de saída um em particular (use -v para finalmente ver a chamada atual)
(C)
nome de o procedimento deve acabar sendo correto na sua declaração, e na minha vizinhança, por exemplo, por causa da interconexão acima, você não vai precisar. Outra coisa, eu li que um parceiro disse que você não adiciona um sublinhado à direita específico no nome por causa da sub-rotina no software ou serviço de chamada, mas alguém tem no mercado para fazer isso em outro lugar. Não está claro onde eles deram errado?
Error Unable To Compile Mixed C Fortran Code
오류가 혼합된 C Fortran 코드를 컴파일할 수 없습니다
Error No Se Pudo Compilar Codigo Mixto C Fortran
Fehler Gemischter C Fortran Code Kann Nicht Kompiliert Werden
Erreur Impossible De Compiler Le Code C Fortran Mixte
Fout Kan Gemengde C Fortran Code Niet Compileren
Errore Impossibile Compilare Codice Misto C Fortran
Felet Kunde Inte Kompilera Blandad C Fortran Kod
Oshibka Ne Udaetsya Skompilirovat Smeshannyj Kod C Fortran
Blad Nie Mozna Skompilowac Mieszanego Kodu C Fortran