红联Linux门户
Linux帮助

[求助]刚学习gcc,大家帮忙看一段代码

发布时间:2009-03-24 05:01:14来源:红联作者:tchenyunt
#include
#include
int main(int argc,char **argv)
{
int rank,size;
#pragma omp parallel(rank)
{
rank=omp_get_thread_num();
size=omp_get_num_thread();
printf("Hello world i'm %d of %d\n",rank,size);

}
return 0;
}

编译时出错如下错误:

/tmp/cc06IkBw.o: In function `main':
helloworld.c:(.text+0x12): undefined reference to `omp_get_thread_num'
helloworld.c:(.text+0x1a): undefined reference to `omp_get_num_thread'
collect2: ld 返回 1

我是对着网上一个例子做的,我这个gcc版本应该支持openmp吧?读头文件没问题啊,但为什么会有找不到函数引用的错误呢?
请达人指教。
文章评论

共有 3 条评论

  1. tchenyunt 于 2009-03-24 19:33:49发表:

    哦,是我的gcc版本太低了,查看gcc版本,请用gcc --version,要至少在4.2以上才支持openmp的,我在另一台机器上测试通过,不过可惜,那台机器是单核的。

  2. 不可不戒 于 2009-03-24 18:11:43发表:

    好像是没有链接库吧?我也是不是很明白。

  3. wxjeacen 于 2009-03-24 12:51:16发表:

    你 还要讲库连起来

    比如连opengl
    gcc -o hello hello.c -lglut

    -l后面加你的库才可以连起来。

    否则通不过去。