Beste Manier Om Een bepaalde Bug Op Te Lossen Die Verhindert Dat Gemengde C / FORTRAN-code Wordt Gecompileerd
December 3, 2021Hopelijk als de persoon een fout tegenkomt waardoor de gemengde code niet volledig op uw pc kan worden gecompileerd, hopen we dat deze pagina u kan helpen het probleem op te lossen.
Aanbevolen: Fortect
Ik heb je moeten proberen een MPI-formulier te installeren dat lijkt op Amber 16 met AmberTools17
Ubuntu 12.04.5LTS. Ik heb de gebruiksfoutmelding. Kan iemand dit aub activeren?
Controleer op updates…
Controleer op updates op het net. Het kan enkele ogenblikken duren…
Stijlen ophalen uit een Gnu-compilerpakket, bijvoorbeeld:
gcc C -v
versie is sterk 4.8.1
Fortran-versie is 4.6.4.
Controleer wat de belangrijkste gcc-compiler doet:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = vierenzestig -D_LARGEFILE_SOURCE Testp
Testp -o.c
Mooi zo
Test je normale C / Fortran-compilatie:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = vierenzestig -D_LARGEFILE_SOURCE -c -o
testp.c.o testp.c
gfortran -fPIC -O0 -c Testp -ofo testp.f
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS komt overeen met 64 -D_LARGEFILE_SOURCE -o testp
testp.c.o testp.f.o -lgfortran -w
/ usr / bin per ld: mei -lgfortran. niet gevonden
Collect2: fout ld: 1 exit-status geretourneerd
./configure2: 2502: ./configure2: ./testp: niet gevonden
Fout: Kan gemengde C / Fortran-code niet afronden.
Controleer uw compilerinstellingen en vlaggen.
De gearrangeerde mislukte vanwege de bovengenoemde fouten!
Erg bedankt,
Suma
________________________________________________
AMBER mailinglijst
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Ontvangen 28 december 2017 04:00:02 PST
Soms is een soort commando simpel, soms weet je meestal niet waar de fout tegenkwam.
Aanbevolen: Fortect
Bent u het beu dat uw computer traag werkt? Zit het vol met virussen en malware? Vrees niet, mijn vriend, want Fortect is hier om de dag te redden! Deze krachtige tool is ontworpen om allerlei Windows-problemen te diagnosticeren en te repareren, terwijl het ook de prestaties verbetert, het geheugen optimaliseert en uw pc als nieuw houdt. Wacht dus niet langer - download Fortect vandaag nog!
Ik heb onder verschillende omstandigheden geprobeerd het te passen, maar het apparaat is mislukt. Ik heb AMBERTOOLS12 geïnstalleerd, maar wilde alleen de laatste optie. Toen ik ./configure -macAccelerate -noX11 I gnu kreeg, kreeg ik de fout “Kan de gemengde C / Fortran-wetten niet compileren. â € . Ik heb veel op Google gezocht maar de keuze was niet duidelijk.
Op Mac is PORT echter een goede oplossing, mits de software correct is geïnstalleerd. Af en toe opgericht. Volgens het onderstaande instructieboek (http://jswails.wikidot.com/mac-os-x) zijn gcc en mp-gcc vereist. Toen ik mijn favoriete gcc controleerde, kreeg ik de volgende uitvoer. Dit betekende dat ik mp-gcc niet had toegestaan. En dan verwijder ik, zie je, het gcc-item dat eerder voor mv is gestart met sudo / opt / local / etc / select versus gcc / current / opt / area / etc / select of gcc / current_saved en selecteer vervolgens een nieuwe poort – installeer gcc mp -gcc48. (Geciteerd uit http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) De zu./configure-handleiding werkt prima dan.
##############################
uaf39965: ! UofA $ poortverzending – gcc-lijst
Beschikbare versie voor gcc:
mp-gcc44
mp-gcc46
mp-gcc47
mp-gcc48
nee (actief)
##############################
Soms is het tarief eenvoudig, je weet gewoon niet waar de fout vaak vandaan komt.
Ik heb het meerdere keren geprobeerd te kiezen, maar het is niet gelukt. Ik heb AMBERTOOLS12 geïnstalleerd, maar was echt op zoek naar de nieuwste versie. Wanneer ik gnu ./configure -macAccelerate -noX11, krijg ik deze specifieke fout “Kan andere C / Fortran-code niet compileren. â € . Ik heb veel gezocht maar die oplossing was nog steeds niet duidelijk.
Op een Mac is porten deze goede oplossing om je laptop of computer goed in elkaar te zetten. Ik heb er omheen geïnstalleerd. Volgens de instructies die hier gelden (http://jswails.wikidot.com/mac-os-x) had gcc ook mp-gcc nodig. Toen ik de gcc-organisatie controleerde, had ik de volgende impact. Dit vereiste dat ik geen strelende mp-gcc had. Vervolgens verwijder ik alle recent ingeschakelde gcc mv-vermeldingen die zijn veroorzaakt door sudo / opt / local / and many / select / gcc / contemporary / opt / local / nogal wat / select / gcc voor elke current_saved, en neem dan poort – toegewezen gcc mp- gcc48. (Geciteerd uit http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) Daarna werkte elk to./configure-commando goed.
Ik schrijf gemengde groei in C ++ / Fortran waarbij nOne Fortran-programma rechtstreeks vanuit het hoofd C ++ -programma wordt aangeroepen.
#include Externe "C" void for_sub_ (int *, boost 4., double *, int *);int essentieel () int is individueel gelijk aan i, ny = 3; tweemaal in x is gelijk aan 3.14159; dubbel is gelijk aan y [] 1.1, 2.2, 3.3; for_sub _ (& één, & x, & ny); ja, ga naar 0;
subroutine FOR_SUB (i, x, y, ny)gebruik uniek :: iso_c_bindingimpliciet neegeheel getal (c_long) :: i, nyecht (c_double) :: xecht (c_double) :: b (ny)print *, "y =", farrenheit (1: ny)Beëindig de FOR_SUB subroutine
De bovenstaande code wordt uitgelegd in de hele C / Fortran Fun Guide die je hier kunt vinden: C Functions aanroepen in Fortran
Ik ben dol op het reproduceren van code voor alleen C ++ / Fortran. Ik heb deze producten samengesteld met
gfortran - een persoon heeft f_sub.f90 nodigg ++ -c c-call-f.cppg ++ f_sub.o c-call-f.o
Ongedefinieerde logo-ontwerpen voor x86_64-architectuur: "__gfortran_st_write", van: gedefinieerd als _for_sub_ alles van f_sub.o Link om te kunnen "__gfortran_st_write_done", van: _for_sub_ op f_sub.o "__gfortran_transfer_array_write", gebeld door: _for_sub_ zorgen f_sub.o "__gfortran_transfer_character_write", van: alleen _for_sub_ ingediend tot en met f_sub.o "__gfortran_transfer_integer_write" waarnaar wordt verwezen door: _for_sub_ op f_sub.o "__gfortran_transfer_real_write" ingediend: _for_sub_ van f_sub.old: teken (en) niet herkend om x86_64-architectuur te verkrijgenclang: linkerfout: kan de afsluitcode niet invoeren, stap 1 (gebruik -v om de oproep te zien) `
Wat is vrijwel zeker de reden voor de fout? Ik heb ook geprobeerd, je kunt die -lf
, -lfortran
noch -lg2c
vlag toevoegen voor de laatste compilatiestap, maar deze volgende fout treedt op:
ld: bibliotheek niet gevonden in de loop van [flag]clang: linkerfout: opdracht is mislukt omdat u code 1 hebt afgesloten (gebruik -v om eindelijk de oproep te zien)
BTW waarom enige C / Fortran-interoperabiliteitsbronnen die ik op de uitgebreide vond, zo inconsistent leken, met één doel las ik dat uw hele gezinsleden een (C)
term hadden de procedure moet correct zijn in de declaratie, en elders, bijvoorbeeld vanwege de bovenstaande link, hoeft u het niet nodig te hebben. Nog iets, ik las dat een vriend zei dat experts beweren dat je geen trailing nadruk legt op de naam van subroutine in het aanroepende product of , maar iemand moet deze tool ergens anders doen. Onduidelijk waar dit soort dingen fout gingen?
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
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