我有一個C++例程standalone_c.cpp和一個用於包裝standalone_c.cpp的fortran standalone_f.f90中的包裝器。 standalone_c.cpp是使用openmp編譯指示的多線程。我能夠編譯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 2011-02-11 17:55:45
哎呀,意思是包括那些 – Anu 2011-02-11 17:59:58