对omp_get_wtime的未定义引用

时间:2013-10-12 08:43:31

标签: c++ gcc openmp

我无法在Windows(vista)下找到GCC(4.8)链接的库。我尝试了-fopenmp -llibgomp -lgomp编译器指令,但没有人工作。

我已经有了POSIX的GCC(如果启用了C ++ 11,那么std :: thread工作),问题似乎是搜索正确的库并不能提供有用的结果(甚至搜索GCC / mingw文档)。

所以基本上我不能让this回答工作(答案声称适用于大多数编译器,但不提供有关如何使其工作的其他信息,因此我无法验证它是否正常工作真的与否)

很高兴现在提供额外的信息以使其在大多数系统上运行..

谢谢!

1 个答案:

答案 0 :(得分:5)

基于GCC 4.8.1的MinGW-w64 here 到目前为止没有任何问题。

示例:C


的main.c

#include <omp.h>
#include <stdio.h>

int
main() {
  double x = omp_get_wtime();

  printf("%f\n", x);
}

构建

gcc main.c -lgomp -o test.exe

结果:

1381572544.299000

示例:C ++


的main.cpp

#include <iostream>
#include <omp.h>

using std::cout;
using std::endl;

int
main() {
  double x = omp_get_wtime();

  cout << x << endl;
}

构建

g++ main.cpp -lgomp -o test.exe

结果:

1.38158e+009

结论


您的MinGW发行版可能有问题。否则我认为没有任何理由不工作。试试上面的内容,看看它是怎么回事。