Bästa Sättet Att Fixa En Bugg Som Förhindrar Att Blandad Noggrant C / FORTRAN-kod Kompileras
December 5, 2021Förhoppningsvis hoppas de att den här artikeln kan hjälpa någon att fixa det om du stöter på något fel som hindrar blandad c/fortran-dator från att kompilera på din dator.
Rekommenderas: Fortect
Jag har alltid försökt köra en MPI-version som liknar Amber 16 med AmberTools17
Ubuntu 12.04.5LTS. Jag innehåller följande felmeddelande. Kan en kvinna aktivera mig snälla?
Check för är medveten…
Sök efter uppdateringar online. Det kan ta några sekunder…
Få stilar från ett Gnu-kompilatorpaket, till exempel:
gcc C -v
versionen är giltig 4.8.1
Fortran version 4.6.4.
Kontrollera vad gcc-kompilatorn gör:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE Testp
Testp -o.c
Bra
Testa din vanliga C / Fortran-kompilering:
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 -a testp
testp.c.o testp.f.o -lgfortran -w
/ usr bin / ld: maj -lgfortran. på inget sätt hittat
Samla2: fel ld: 1 utgång bra namn returneras
./configure2: 2502: ./configure2: ./testp: hittades inte nödvändigtvis
Fel: Det går inte att kompilera blandat C för varje Fortran-kod.
Kontrollera dina kompilatormetoder och flaggor.
Installationen misslyckades på grund av de ovan nämnda felen!
Tack så mycket,
Suma
________________________________________________
AMBER Mailing List
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Mottaget 28 dec 2017 04:00:02 AM PST
Ibland är kommandot elementärt, ibland vet du inte varifrån felet kom.
Rekommenderas: Fortect
Är du trött på att din dator går långsamt? Är det full av virus och skadlig kod? Var inte rädd, min vän, för Fortect är här för att rädda dagen! Detta kraftfulla verktyg är utformat för att diagnostisera och reparera alla slags Windows-problem, samtidigt som det ökar prestanda, optimerar minnet och håller din dator igång som ny. Så vänta inte längre - ladda ner Fortect idag!
Jag försökte installera det under ett antal omständigheter, men det misslyckades. Jag fixade AMBERTOOLS12 men ville bara ha det tidigare alternativet. När jag fick ./configure -macAccelerate -noX11 I gnu fick jag för närvarande felet “Det gick inte att kompilera blandad C / Fortran-kod. “. Jag sökte mycket på Google men lösningen var inte uppenbar.
På Mac är PORT den bra lösningen om programvaran kunde installeras korrekt. Etablerat vid tillfälle. Enligt instruktionerna nedan (http://jswails.wikidot.com/mac-os-x) krävdes gcc dessutom mp-gcc. När jag kollade min gcc fick jag exakt följande utdata. Detta innebar att jag inte hade aktiverat mp-gcc. Och du måste jag ta bort gcc-posten en gång startat av mv med sudo och opt / local / etc per select / gcc / current för varje opt / local / etc – välj / gcc / current_saved men välj sedan porten – du kan installera gcc mp -gcc48. (Citat från http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) Zu./configure-manualen fungerade bra då.
#############################
uaf39965: ~ UofA rr portvidarebefordran – gcc specificera
Tillgängliga versioner för gcc:
mp-gcc44
mp-gcc46
mp-gcc47
mp-gcc48
helt (aktiv)
#############################
Ibland skulle priset vara grundläggande, du vet inte var vårt fel ofta kommer ifrån.
Jag försökte välja flera saker, men det misslyckades. Jag installerade AMBERTOOLS12 men ville verkligen ha det senaste valet. När jag gnu ./configure -macAccelerate -noX11 får jag felet “Kan inte kompilera annan C / Fortran-kupongkod. “. Jag sökte en viss mängd men lösningen var fortsatt otydlig.
På en Mac är portering en bra lösning för att hjälpa dig att korrekt ställa in din bärbara dator, även känd som dator. Jag installerade den. Enligt så att det kommer instruktionerna här (http://jswails.wikidot.com/mac-os-x) gcc alldeles för krävs mp-gcc. När jag kollade den specifika gcc-organisationen hade jag fokus på inverkan. Detta innebar att jag någon har en rytmisk mp-gcc. Sedan tar jag bort alla tidigare aktiverade gcc mv-objekt från sudo / opt – local / etc / select – gcc / current / opt local / etc / välj gcc / current_saved, ta sedan plug-ins – ställ in gcc mp-gcc48. (Citat med hjälp av http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) Sedan gjorde kommandot to./configure underverk.
Jag skrev blandad programmering i C ++ / Fortran där ingen Fortran-strategi anropas från huvudprogrammet C ++.
#inkludera Externt "C" tomt för_sub_ (int *, dubbel 4., dubbel -, int *);int main () int = i individuellt, long island = 3; 2 i x = 3,14159; dubbel = y [] 1,1, 2,2, 3,3; for_sub _ (& i, & x, & ny); ja, gå till 0;
subrutin FOR_SUB (i, x, farrenheit, ny)använd intrinsic :: iso_c_bindingimplicit nejheltal (c_long) :: i, nyverklig (c_double) :: xreal (c_double) :: y (ny)print *, "y =", y (1: ny)Avsluta FOR_SUB-subrutinen
Ovanstående kod kommer förmodligen att förklaras i C / Fortran Fun Guide som du kan komma hit: Anropa C-funktioner i Fortran
Jag vill återskapa kupongkoden för C ++ / Fortran enbart. Jag kompilerade dem med
gfortran - du behöver f_sub.f90g ++ -c c-anrop-f.cppg ++ f_sub.o c-call-f.o
Odefinierade logotyper för x86_64-arkitektur: "__gfortran_st_write", från: kallas _for_sub_ allt på f_sub.o Länk till "__gfortran_st_write_done", från: _for_sub_ för f_sub.o "__gfortran_transfer_array_write", anropad av: _for_sub_ vid f_sub.o "__gfortran_transfer_character_write", från: lägg fram _for_sub_ endast i f_sub.o "__gfortran_transfer_integer_write" anropad av: _for_sub_ på f_sub.o "__gfortran_transfer_real_write" har skickats: _for_sub_ vid f_sub.old: karaktär(er) definitivt inte igenkänd för x86_64-arkitekturclang: länkfel: kunde inte laddas med utgångsläge, steg 1 (använd -v för att förstå samtalet) `
Vad är anledningen till felet? Jag försökte också, användare kan lägga till flaggan -lf
, -lfortran
eller -lg2c
i det sista systemsteget, men följande fel inträffar när :
ld: biblioteket hittades inte under [flagga]clang: länkfel: mottagning misslyckades på grund av utgångskod ett särskilt (använd -v för att slutligen se varje samtal)
BTW varför alla C/Fortran interoperabilitetsresurser som jag insåg på internet verkade så oregelbundna, vid ett tillfälle läste jag vilka experter som hävdar att hela din familj hade en riktig (C)
namn proceduren bör vara korrekt i dess deklaration, som på andra ställen, till exempel, på grund av vilken länken ovan, kommer du inte att behöva denna uppgift. En annan sak, jag läste att en annan vän sa att du inte består av ett eftersläpande understreck på titeln på subrutinen i märkningen av produkten eller tjänsten, utan någon måste göra det någon annanstans. Oklart var av dem gick fel?
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
Errore Impossibile Compilare Codice Misto C Fortran
Oshibka Ne Udaetsya Skompilirovat Smeshannyj Kod C Fortran
Blad Nie Mozna Skompilowac Mieszanego Kodu C Fortran