我有一个单独的c++例程standalone_c.cpp,以及一个包装器standalone_f.f90,它将standalone_c.cpp包装起来。 standalone_c.cpp使用openmp pragma进行多线程处理。我能够编译standalone_c.cpp和wrapper standalone_f.f90。但是,当我尝试链接这两个文件时,会出现错误,如undefined reference to omp_get_thread_num、undefined reference to omp_get_num_procs等。有人有从fortran例程调用多线程c或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是这些库的链接器标记。