Migliore Possibilità Di Correggere Un Bug Interrompendo Il Codice Misto C/FORTRAN Lontano Dalla Compilazione
December 4, 2021Speriamo che se incontri un errore esclusivo che impedisce la compilazione di c misto per ogni codice Fortran sul tuo PC, speriamo che questo articolo possa aiutarti a risolverlo.
Consigliato: Fortect
Ho sempre provato a installare una versione MPI simile ad Amber 16 usando AmberTools17
Ubuntu 12.04.5LTS. Ho il seguente messaggio di errore. Qualcuno può attivarmi per favore?
Controlla i tweet…
Controlla gli aggiornamenti online. Potrebbero volerci alcuni secondi…
Ottenere approcci da un pacchetto del compilatore Gnu, riguardo ad esempio:
gcc C -v
la versione è valida 4.8.1
La versione Fortran è la 4.6.4.
Controlla cosa fa il compilatore gcc:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE Testp
Testp -o.c
Bene
Prova la tua normale compilazione C / Fortran:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE -do -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 bin / ld: potrebbe essere -lgfortran. non trovato
Collect2: errore ld: 1 stato di permesso restituito
./configure2: 2502: ./configure2: ./testp: non trovato
Errore: impossibile compilare codice misto C / Fortran.
Si prega di controllare le impostazioni e i flag personali del compilatore.
L’installazione non è riuscita a causa degli errori sopra menzionati!
Grazie molto,
Suma
________________________________________________
Mailing List AMBRA
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Ricevuto ventotto dicembre 2017 04:00:02 PST
A volte il comando è sicuramente semplice, a volte non sai e da dove viene l’errore.
Consigliato: Fortect
Sei stanco del fatto che il tuo computer funzioni lentamente? È pieno di virus e malware? Non temere, amico mio, perché il Fortect è qui per salvare la situazione! Questo potente strumento è progettato per diagnosticare e riparare tutti i tipi di problemi di Windows, migliorando allo stesso tempo le prestazioni, ottimizzando la memoria e mantenendo il PC funzionante come nuovo. Quindi non aspettare oltre: scarica Fortect oggi!
Ho provato a installarlo in profondità in diverse circostanze, ma non è riuscito. Ho installato AMBERTOOLS12 ma volevo solo la tua ultima opzione attuale. Quando ho investito in ./configure -macAccelerate -noX11 I gnu ho ricevuto l’errore “Impossibile compilare il codice C / Fortran composto. â € œ. Ho cercato molto sull’argomento Google ma la soluzione non è stata considerata chiara.
Su Mac, PORT è letteralmente una buona soluzione se il computer è installato correttamente. Stabilito in funzione. Secondo le istruzioni all’interno (http://jswails.wikidot.com/mac-os-x) erano richiesti gcc e mp-gcc. Quando ho controllato il mio gcc ho acquistato il seguente output. Ciò significava che molti non avevo abilitato mp-gcc. E poi rimuovo l’ammissione gcc precedentemente avviata da mv in sudo / opt / local / . . . /select/gcc/ultime/opt/local/ e quindi/select/gcc e current_saved e poi selezionare il mov – install gcc mp-gcc48. (Citato come risultato di http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) Il manuale zu./configure ha funzionato bene in tal caso.
#############################
uaf39965: ~ UofA $ port forwarding – intervallo gcc
Versazioni disponibili per gcc:
mp-gcc44
mp-gcc46
mp-gcc47
mp-gcc48
no (attivo)
#############################
A volte il grado è di base, non sai da dove viene spesso l’errore.
Ho provato a selezionarlo diverse volte, ma non è riuscito. Ho allegato AMBERTOOLS12 ma volevo davvero l’ultima versione. Quando eseguo gnu ./configure -macAccelerate -noX11, ottengo la gaffe “Impossibile compilare altro codice C / Fortran. â € œ. Ho setacciato molto ma la prima soluzione non era ancora chiara.
Su questo Mac, il porting è un bel mistero per configurare correttamente il tuo laptop o computer o computer. L’ho installato. Secondo le istruzioni qui (http://jswails.wikidot.com/mac-os-x) gcc oltre a quello richiesto mp-gcc. Quando ho esaminato l’organizzazione di gcc ho avuto ciascuno dei nostri seguenti effetti. Ciò significava che non avevo un mp-gcc ritmico. Quindi rimuovo tutte le voci gcc mv fornite in precedenza da sudo / go for / local / etc / favor / gcc / current / want / local / etc / go with / gcc / current_saved, quindi considero port – set gcc mp-gcc48. (Citato da http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) Quindi to./configure ha funzionato bene.
Sto scrivendo una programmazione mista in C++/Fortran dove nessun programma Fortran viene chiamato dal programma C++ vitale.
#include Esterno "C" nullify for_sub_ (int *, double 4., boost *, int *);intero principale () int = i indipendentemente, ny = 3; doppio in x = 3,14159; doppio = pieno [] 1.1, 2.2, 3.3; for_sub _ (& io, & da, & ny); sì, vai che può 0;
subroutine FOR_SUB (i, z, y, ny)usa intrinseco :: iso_c_bindingimplicitamente nointero (c_long) :: i, nyreal (c_double) :: xreale (c_double) :: y (ny)print ( spazio ), "y =", y (1: ny)Termina la sua subroutine FOR_SUB
La procedura di cui sopra è spiegata nella C per ogni Fortran Fun Guide che puoi trovare facilmente qui: Chiamare le funzioni C in Fortran
Voglio ricreare il codice solo per C++ / Fortran. Li ho compilati tramite
gfortran - tu usi f_sub.f90g++ -c c-call-f.cppg++ f_sub.o c-call-f.o
Loghi non definiti progettati per l'architettura x86_64: "__gfortran_st_write", da: chiamato _for_sub_ ogni piccola cosa da f_sub.o Link a "__gfortran_st_write_done", da: _for_sub_ disponibile su f_sub.o "__gfortran_transfer_array_write", chiamato da: _for_sub_ su f_sub.o "__gfortran_transfer_character_write", da: fornito _for_sub_ solo in f_sub.o "__gfortran_transfer_integer_write" introdotto da: _for_sub_ su f_sub.o "__gfortran_transfer_real_write" inviato: _for_sub_ su f_sub.old: identità (s) non riconosciuta per l'architettura x86_64clang: errore del linker: impossibile caricare con uscita dal codice, passaggio 1 (usare -v che vedrebbe la chiamata) `
Qual è la causa dell’errore? Ho anche estratto, puoi aggiungere il flag -lf
, -lfortran
o eventualmente un flag -lg2c
nel passaggio di compilazione continua, ma presto dopo che si è verificato l’errore:
ld: archivi non trovati durante [flag]clang: errore del linker: istruzione non riuscita a causa dell'uscita dal codice coupon 1 (usa -v per vedere finalmente la chiamata)
A proposito, perché praticamente le risorse di interoperabilità C / Fortran che ho trovato su Internet sembravano ma incoerenti, a un certo punto guardo che tutta la tua famiglia aveva un particolare nome (C)
la tecnica dell’operazione deve essere corretta nella sua affermazione, e altrove, ad esempio, perché a causa del collegamento sopra, non lo vorrai davvero. Un’altra cosa, ho letto attraverso la quale un amico ha detto che non ti preoccupi di aggiungere un carattere di sottolineatura finale sul nome specifico della subroutine nell’esatto prodotto o servizio chiamante, ma qualsiasi individuo deve farlo da qualche parte oltre a te. Non è chiaro dove di loro è andato inappropriato?
Error Unable To Compile Mixed C Fortran Code
오류가 혼합된 C Fortran 코드를 컴파일할 수 없습니다
Error No Se Pudo Compilar Codigo Mixto C Fortran
Erro Incapaz De Compilar Codigo C Fortran Misto
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
Felet Kunde Inte Kompilera Blandad C Fortran Kod
Oshibka Ne Udaetsya Skompilirovat Smeshannyj Kod C Fortran
Blad Nie Mozna Skompilowac Mieszanego Kodu C Fortran