완벽하게 작동하며 간단한 C++ 파일로 실행 파일을 생성하는 Fortran과 C++ 오브젝트 파일을 혼합하려고합니다. 그러나 동일한 Fortran 객체 파일을 주 C++ 코드 (매우 크고 복잡한 코드)와 혼합하려고 할 때 아래 나열된 오류가 발생합니다. 나는 -lgfortran
의 위치를 가지고 놀았지만 행운은 없다.gfortran과 g ++ 컴파일을 혼합 할 때 정의되지 않은 참조
사용되는 명령은
g++ -o test *.o -static -lpthread -L/usr/local/lib -lquadmath -lgfortran
과 순열의 모든 종류도 시도되고있다.
오류는 다음과 같습니다
gcc_4_9_2_release/libgfortran/io/write_float.def:1300: undefined reference to `signbitq'
gcc_4_9_2_release/libgfortran/io/write_float.def:1300: undefined reference to `finiteq'
gcc_4_9_2_release/libgfortran/io/write_float.def:1213: undefined reference to `finiteq'
gcc_4_9_2_release/libgfortran/io/write_float.def:1300: undefined reference to `isnanq'
Gfortran 4.9는 gcc와 g ++ 4.9에서는 작동하지만 다른 컴파일러에서는 작동하지 않습니다. – tim18
gfortran과 g ++는 같은 버전 인 4.9를 사용하고 있으며 간단한 예제 코드로 작업하고 있습니다. – musafir
오류 메시지의 원인이되는 명령을 표시해야합니다. 또한 작은 예제를 격리하려고 시도해야합니다. –