나는 C++ 루틴 standalone_c.cpp와 standalone_c.cpp를 래핑하는 fortran standalone_f.f90에 대한 래퍼를 가지고 있습니다. standalone_c.cpp는 openmp pragma를 사용하여 다중 스레드됩니다. standalone_c.cpp와 wrapper standalone_f.f90을 모두 컴파일 할 수 있습니다. 그러나이 둘을 연결하려고하면 omp_get_thread_num에 대한 정의되지 않은 참조, omp_get_num_procs에 대한 정의되지 않은 참조와 같은 오류가 발생합니다. 누구든지 Fortran 루틴에서 다중 스레드 C 또는 C++ 코드를 호출하는 경험이 있습니까? 아무도 이것이 왜 일어나고 있는지 짐작할 수 있습니까?Fortran 루틴에서 다중 스레드 (openmp) C++ 루틴 호출
충분한 의사가 있으면 의사 코드를 게시 할 수 있습니다.
편집 : 컴파일 명령 :
gcc-4.3.3/bin/g++ -O -openmp $(IFLAGS) -c standalone_c.cpp
fce/10.1.015/bin/ifort -g -O0 standalone_f.f90
fce/10.1.015/bin/ifort $(LFLAGS) standalone_c.o standalone_f.o -o standalone
IFLAGS 내가 할 몇 가지 라이브러리, LFLAGS 그 라이브러리에 대한 링커 플래그입니다 있습니다.
컴파일하고 링크하는 데 사용하는 명령은 도움이 될 것입니다. – suszterpatt
해당하는 것을 의미합니다. – Anu