포트란 코드당 혼합 C가 컴파일되는 것을 방지하는 버그를 볼 수 있는 가장 좋은 방법

November 27, 2021 By John Anthony Off

작성된 c/fortran 코드가 PC에 통합되지 않도록 하는 오류가 발생하는 한 이러한 유형의 기사가 수정 조치를 취하는 데 도움이 되길 바랍니다.

권장: Fortect

<리>1. Fortect 다운로드 및 설치
  • 2. 프로그램을 열고 "스캔"을 클릭하십시오.
  • 3. 복구 프로세스를 시작하려면 "복구"를 클릭하십시오.
  • 이 소프트웨어를 다운로드하고 몇 분 안에 PC를 수정하십시오.

    혼합 c/fortran 코드를 효율적으로 컴파일하는 데 오류가 발생했습니다.

    AmberTools17을 선택하여 Amber 16과 유사한 MPI 버전을 설치하려고 했습니다.
    우분투 12.04.5LTS. 다음 몇 가지 오류 메시지가 있습니다. 누군가 내 집을 활성화할 수 있습니까?

    업데이트 확인 …
    온라인으로 개선 사항을 확인하십시오. 선택하는 데 몇 초가 걸릴 수 있습니다 …

    Gnu 컴파일러 패키지에서 스타일 가져오기, 예:
    gcc C-v
    버전 정말 유효한 4.8.1
    포트란 버전은 4.6.4입니다.

    gcc 컴파일러가 하는 모든 것을 확인하십시오:
    gcc -fPIC -DSYSV -D_FILE_OFFSET_BITS는 64 -D_LARGEFILE_SOURCE Testp와 같습니다.
    테스트p -o.c
    좋은

    가장 일반적인 C/Fortran 컴파일을 테스트합니다.
    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 / bin 및 ld: -lgfortran을 할 수 있습니다. 찾을 수 없음
    Collect2: 오류 ld: 1 종료 상태가 반환됨
    ./configure2: 2502: ./configure2: ./testp: 찾을 수 없음
    오류: 혼합 C/포트란 코드를 컴파일할 수 없습니다.
    컴파일러 설정과 그에 따른 플래그를 확인하십시오.
    위에서 언급한 오류로 인해 설정에 실패했습니다!

    많은 감사,
    수마
    ________________________________________________
    앰버 메일링 리스트
    AMBER.ambermd.org
    http://lists.ambermd.org/mailman/listinfo/amber
    접수됨 2017년 12월 28일 오전 4시 00분 02초 PST

    <주요 역할 = "주요">

    <기사>

    명령이 간단할 때도 있고 오류가 어디에서 왔는지 모를 때도 있습니다.

    권장: Fortect

    컴퓨터가 느리게 실행되는 것이 지겹습니까? 바이러스와 맬웨어로 가득 차 있습니까? 친구여, 두려워하지 마십시오. Fortect이 하루를 구하러 왔습니다! 이 강력한 도구는 모든 종류의 Windows 문제를 진단 및 복구하는 동시에 성능을 높이고 메모리를 최적화하며 PC를 새 것처럼 유지하도록 설계되었습니다. 그러니 더 이상 기다리지 마십시오. 지금 Fortect을 다운로드하세요!

    <리>1. Fortect 다운로드 및 설치
  • 2. 프로그램을 열고 "스캔"을 클릭하십시오.
  • 3. 복구 프로세스를 시작하려면 "복구"를 클릭하십시오.

  • 여러 상황에서 설치하려고 했으나 안타깝게도 실패했습니다. 마지막 옵션만 원했지만 AMBERTOOLS12를 설치했습니다. ./configure -macAccelerate -noX11을 얻었을 때 나는 혼란스러워했습니다. “혼합 C/Fortran 코드를 컴파일하지 못했습니다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ Google에서 많이 검색했지만 어떤 종류의 솔루션이 명확하지 않았습니다.

    Mac에서 PORT는 소프트웨어가 안전하고 안전하게 설치된 경우에 좋은 치료법입니다. 경우에 따라 설립되었습니다. 아래의 대부분의 지침(http://jswails.wikidot.com/mac-os-x)에 따르면 gcc와 mp-gcc가 필요했습니다. 간단한 gcc를 확인했을 때 다음 최종 제품을 얻었습니다. 이것은 내가 mp-gcc를 활성화하지 않았음을 의미합니다. 그런 다음 sudo / opt per local / etc / select for each gcc / current / opt 또는 local / etc / select 또는 gcc / current_saved를 사용하여 mv에서 이전에 작성한 gcc 항목을 필터링한 다음 포트를 정렬합니다 – install gcc mp -gcc48. (http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed에서 인용) zu./configure 물리적은 그때 잘 작동했습니다.

    #################################

    uaf39965: ~ UofA $ 포트 전송 – gcc 목록

    gcc에 사용 가능한 버전:

    mp-gcc44

    mp-gcc46

    mp-gcc47

    mp-gcc48

    단순히 아니오(활성)

    #################################

    <내비게이션 역할은 "내비게이션">과 같습니다.

    때로 비율은 기본이고 대중은 오류가 많이 발생하는 곳을 모릅니다.

    선택을 돕기 위해 여러 번 시도했지만 다음은 실패했습니다. AMBERTOOLS12를 설치했지만 기본적으로 최신 버전을 원했습니다. gnu ./configure -macAccelerate -noX11을 실행하면 “다른 하나의 C/Fortran 코드를 컴파일할 수 없습니다. ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ 나는 많이 검색했지만 솔루션은 여전히 ​​반짝이지 않았습니다.

    Mac에서 포팅은 랩톱이나 컴퓨터를 올바르게 설치하는 좋은 솔루션으로 간주됩니다. 나는 그것을 설치했다. 여기(http://jswails.wikidot.com/mac-os-x)의 사용 설명서에 따르면 gcc도 기본 mp-gcc입니다. 내가 gcc 자선 단체를 확인했을 때 나는 다음과 같은 영향을 미쳤습니다. 이것은 내가 적절한 리듬 mp-gcc를 가지고 있지 않다는 것을 의미했습니다. 그런 다음 sudo / opt / local etc / select / gcc per current / opt / local 대 etc / select / gcc – current_saved를 사용하여 이전에 활성화된 유일한 gcc mv 항목을 제거한 다음 포트를 가져옵니다 – gcc mp-gcc48. (http://stackoverflow.com/questions/19909844/selecting-mp-gcc47-for-gcc-failed에서 인용) 그러면 to./configure 명령이 잘 작동했습니다.

    nOne Fortran 프로그램이 기본 C++ 소프트웨어 패키지에서 정기적으로 호출되는 C++/Fortran으로 공유 프로그래밍을 작성하고 있습니다.

      #include 외부 "C"    무효 for_sub_ (int 3., double 4., double *, int *);최고의 ()    int는 개별적으로 i와 같고 ny는 3을 의미합니다.    c = 3.14159에서 두 번;    이중 = y [] 1.1, 2.2, 3.3;    for_sub _ (& 나, & x, & ny); 맞습니다, 0으로 이동하십시오. 
      서브루틴 FOR_SUB (i, x, y, ny)고유 :: iso_c_binding 사용암시적으로 아니오정수(c_long) :: 내 파트너, ny실수(c_double) :: xreal (c_double) :: 체육관 (ny)인쇄 *, "y =", 화씨(1: ny)FOR_SUB 서브루틴 종료 

    위의 코드는 여기에서 찾을 수 있는 C / Fortran Fun Guide에 대해 설명되어 있습니다. Calling C Functions in Fortran

    C++/Fortran 전용 코드를 재현하고 싶습니다.

    로 수집했습니다.

      gfortran - 가족은 f_sub.f90이 필요합니다.g ++ -c c-call-f.cppg ++ f_sub.o c-call-f.o 
      x86_64 아키텍처용 정의되지 않은 로고: "__gfortran_st_write", 출처: f_sub.o의 모든 것 _for_sub_ 레이블이 지정됨 다음에서 "__gfortran_st_write_done"에 대한 링크:     f_sub.o에서 _for_sub_ "__gfortran_transfer_array_write", 참조:    f_sub.o로 이동하여 _for_sub_ "__gfortran_transfer_character_write", 출처: 기본적으로 f_sub.o에 _for_sub_ 제출 다음에서 참조하는 "__gfortran_transfer_integer_write":    f_sub.o에서 _for_sub_ "__gfortran_transfer_real_write" 제출:    f_sub.o와 함께 _for_sub_ld: x86_64 아키텍처와 관련하여 문자를 인식할 수 없습니다.clang: 링커 오류: 종료 코드와 함께 로드하지 못했습니다. 단계를 안내합니다(자주 호출을 보려면 -v 사용) ` 

    오류는 c/fortran 혼합 코드를 컴파일할 수 없습니다.

    정확한 오류의 원인은 무엇입니까? 또한 시도했지만 마지막 컴파일 단계에서 -lf , -lfortran 또는 -lg2c 녹색을 대여할 수 있지만 다음 오류가 발생합니다. :

      ld: [flag]를 통해 라이브러리를 찾을 수 없음clang: 링커 오류: 종료 코드 1에 대해 지불할 수 있는 명령이 실패했습니다(최종적으로 호출을 보려면 -versus 사용). 

    왜 내가 그 인터넷에서 찾은 C/Fortran 상호 운용성 리소스가 일관성이 없어 보였는지, 개별 시점에서 귀하의 완성된 제품군에 절차가 (C) 라는 용어가 있다는 것을 읽었습니다. 선언에서 훌륭해야 하며 다른 곳에서는 예를 들어 보다 높은 링크 때문에 필요하지 않습니다. 또 다른 측면으로, 나는 친구가 당신이 호출하는 제품도 서비스에서 당신의 서브루틴 이름에 밑줄을 추가하지 않지만 누군가 다른 곳에서 그것을 시작해야 한다는 코멘트를 남겼다는 것을 읽었습니다. 그들과 관련하여 어디가 잘못되었는지 불분명합니까?

    이 소프트웨어를 다운로드하고 몇 분 안에 PC를 수정하십시오.

    Error Unable To Compile Mixed C Fortran Code
    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
    Felet Kunde Inte Kompilera Blandad C Fortran Kod
    Oshibka Ne Udaetsya Skompilirovat Smeshannyj Kod C Fortran
    Blad Nie Mozna Skompilowac Mieszanego Kodu C Fortran