La Mejor Manera De Corregir Un Error Que Impide La Compilación Del Código C / FORTRAN Mixto
November 27, 2021Con suerte, si puede encontrar un error que impida que se compile el código mixto they would / fortran cuando su PC, esperamos que esta publicación de blog pueda ayudarlo a solucionarlo.
Recomendado: Fortect
Normalmente he intentado instalar un modelo MPI similar a Amber 16 usando AmberTools17
Ubuntu 12.04.5LTS. Tengo el mensaje de error de audiencia. ¿Alguien puede activarme personalmente, por favor?
Buscar actualizaciones …
Busque actualizaciones en la web. Puede que sean necesarios unos pocos …
Obtener estilos de un paquete compilador de Gnu, por ejemplo:
gcc C -v
la versión es genuina 4.8.1
La versión de Fortran es 4.6.4.
Compruebe lo que hace cada uno de nuestros compiladores gcc:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = sesenta y cuatro -D_LARGEFILE_SOURCE Testp
Testp -o.c
Bien
Pruebe su compilación normal de C / Fortran:
gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS = sesenta y cuatro -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 implica 64 -D_LARGEFILE_SOURCE -o testp
testp.c.o testp.f.o -lgfortran -w
/ usr / bin para cada ld: may -lgfortran. extraviado
Collect2: error en el juicio ld: 1 estado de salida devuelto
./configure2: 2502: ./configure2: ./testp: no encontrado
Error: no se puede ensamblar el código C / Fortran mixto.
Evalúe la configuración y los indicadores de su compilador.
¡El diseño falló debido a los errores explicados anteriormente!
Muchas gracias,
Suma
________________________________________________
Lista de correo AMBER
AMBER.ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber
Recibido 28 de diciembre de 2017 a las 04:00:02 a.m.PST
A veces, que este comando es simple, a veces nunca sabrá dónde se produjo el error.
Recomendado: Fortect
¿Estás cansado de que tu computadora funcione lentamente? ¿Está plagado de virus y malware? ¡No temas, amigo mío, porque Fortect está aquí para salvar el día! Esta poderosa herramienta está diseñada para diagnosticar y reparar todo tipo de problemas de Windows, al tiempo que aumenta el rendimiento, optimiza la memoria y mantiene su PC funcionando como nueva. Así que no esperes más: ¡descarga Fortect hoy mismo!
Intenté configurarlo en varias circunstancias, pero fallaron. Instalé AMBERTOOLS12 pero estrictamente quería la última opción. Cuando obtuve ./configure -macAccelerate -noX11 I gnu, obtuve el error “Falló con respecto a la compilación de la ley C / Fortran mixta. â € œ. Busqué un lote confiable en Google, pero la elección no estaba clara.
En Mac, PORT es una buena solución en los casos en que el software está instalado correctamente. Establecido en alguna ocasión. De acuerdo con las guías a continuación (http://jswails.wikidot.com/mac-os-x) originalmente se requerían gcc y mp-gcc. Cuando verifiqué nuestro propio gcc obtuve el siguiente resultado. Esto significaba que no había permitido mp-gcc. Y luego elimino una nueva entrada de gcc que anteriormente comenzaba simplemente mv con sudo / opt / native / etc / select – gcc / current / opt / around / etc / select versus gcc / current_saved y luego selecciono cualquier puerto – instala gcc mp-gcc48. (Citado en http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) El manual zu./configure funcionó bien entonces.
########################################################################################################################################################################################################################################################################################################?
uaf39965:! Envío de puertos UofA $ – lista gcc
Versiones disponibles para gcc:
mp-gcc44
mp-gcc46
mp-gcc47
mp-gcc48
no (activo)
######################################################################################################################################################################################################################################################################################################?
A veces, la tasa es básica, no se puede saber de dónde se relaciona el error.
Intenté hacer clic en él varias veces, pero no fue así. Instalé AMBERTOOLS12 pero realmente planeé originalmente la última versión. Cuando gnu ./configure -macAccelerate -noX11, aparece el error “No se puede compilar otro código de C / Fortran. â € œ. Busqué mucho pero, por lo general, la solución aún no estaba clara.
En una Mac, la migración es una buena solución real para configurar correctamente el aumento de su computadora portátil o computadora. Yo lo incluí. De acuerdo con las instrucciones disponibles (http://jswails.wikidot.com/mac-os-x), gcc también requería mp-gcc. Cuando revisé la organización gcc tuve el siguiente impacto. Esto resultó en que no tenía un mp-gcc acariciando. Luego elimino todas las entradas gcc mv habilitadas sin duda entre sudo / opt / local / junto con / select / gcc / recién lanzado / opt / local / y mucho más / select / gcc y current_saved, luego tomo el puerto – establecido gcc mp- gcc48. (Citado de http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed) Entonces este comando to./configure funcionó bien.
Estoy escribiendo programas mixtos en C ++ / Fortran mediante los cuales se llama a nOne Fortran mediante el programa principal de C ++.
#include "C" externa void for_sub_ (int *, 2 botella 4., doble *, int *);int más común () int es igual a i individualmente, ny = 3; dos veces en x equivale a 3,14159; doble equivale ay [] 1.1, 2.2, 3.3; for_sub _ (& nosotros todos, & x, & ny); sí, trabaja a 0;
subrutina FOR_SUB (i, x, y, ny)utilizar incorporado :: iso_c_bindingimplícitamente noentero (c_long) :: i, nyreal (c_double) :: xreal (c_double) :: s (ny)print *, "y =", m (1: ny)Finalizar la subrutina FOR_SUB
El código anterior se explica en nuestra propia Guía de diversión de C / Fortran que siempre puede encontrar aquí: Llamar a funciones de C en Fortran
Deseo reproducir código solo para C ++ / Fortran. Recopilé gente con
gfortran: toda su familia necesita f_sub.f90g ++ -c c-call-f.cppg ++ f_sub.o c-call-f.o
Fotografías no definidas para arquitectura x86_64: "__gfortran_st_write", de: llamé _for_sub_ todo desde f_sub.o Enlace - "__gfortran_st_write_done", de: _for_sub_ en f_sub.o "__gfortran_transfer_array_write", llamado por: _for_sub_ aquí en f_sub.o "__gfortran_transfer_character_write", de: enviado _for_sub_ solo haciendo f_sub.o "__gfortran_transfer_integer_write" referenciado por: _for_sub_ en f_sub.o "__gfortran_transfer_real_write" enviado: _for_sub_ encontrado en f_sub.old: caracteres no reconocidos con la arquitectura x86_64clang: error del vinculador: no se pudo cargar la deuda con el código de salida, paso 1 (use -v para ver la llamada) `
¿Cuál es sin duda el motivo del error? También lo intenté, puede agregar algunos de los -lf
, -lfortran
o tal vez un indicador -lg2c
en el último paso de compilación, pero ver, se produce el siguiente error:
ld: biblioteca no encontrada mientras estaba en [bandera]clang: error del enlazador: el comando falló debido a que puede salir del código 1 (use -v time para finalmente ver la llamada)
Por cierto, por qué cualquier recurso de interoperabilidad de C / Fortran que encontré en los mundos en línea parecía tan inconsistente, en un elemento leí que toda su familia tenía un (C)
que hacía el El procedimiento debe ser correcto en toda su declaración, y en otros lugares, para el estudio de investigación, debido al enlace anterior, ya que no lo necesitará. Otra cosa, leí que un amigo dijo el hecho de que no agrega un énfasis final en el nombre del tipo de subrutina en el producto o sitio web que llama, pero alguien tiene que hacer el software en otro lugar. ¿No está claro dónde fallaron los niños?
Error Unable To Compile Mixed C Fortran Code
오류가 혼합된 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
Felet Kunde Inte Kompilera Blandad C Fortran Kod
Oshibka Ne Udaetsya Skompilirovat Smeshannyj Kod C Fortran
Blad Nie Mozna Skompilowac Mieszanego Kodu C Fortran