未定义的几个OpenMP函数的引用

时间:2014-08-13 04:07:32

标签: openmp

我试图编译一个openMP示例,他拒绝编译说"未定义引用' OSCR_init',未定义引用`OSCR_getarg_int'和其他几个功能。然后我将这些函数放在文件OmpSCR.h中,它来自另一个文件夹,在其中搜索并看到这些函数是在外部定义的,我相信在omp.h中。我将文件包含在" include"在示例源(已包含OmpSCR.h)中希望它能解决问题,但没有任何改进。我有omp.h,它附带了操作系统。这可能是版本冲突吗?我从OMPSCR_v2.0.tar.gz获得了示例文件。我该怎么办?

1 个答案:

答案 0 :(得分:1)

“未定义的引用”错误表示在链接时未找到该函数的定义。标头中的声明(例如omp.h)不提供该函数的实现;它只是告诉编译器函数存在某处。您必须将程序与实际提供函数实现的库链接。

基本上,您只需要将程序链接到OpenMP库。执行此操作的方法取决于您使用的编译器和OpenMP实现,您都没有指定,因此我无法提供详细信息。 (但如果您碰巧使用GCC,则应使用-fopenmp选项进行编译和链接。)