2014-04-06 59 views
1

我有Windows 8 64位操作系統。關於OpenMP與GNU gcc

我想與下面的C碼的OpenMP功能實驗:

hello.c的程序

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

int main() 
{ 
    #pragma omp parallel 
    printf("Hello world!\n"); 
    return 0; 
} 

雖然我試圖從命令提示運行該程序使用: GCC -fopenmp的hello.c

我得到了以下錯誤:

c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot fin 
d -lpthread 
collect2.exe: error: ld returned 1 exit status 

我在C:\ MinGW中使用gcc 4.8.1。

怎麼了?我完全失去了。

謝謝!

+0

MinGw不支持Windows上的libpthread庫 - http://www.mingw.org/wiki/pthreads_library按照http://stackoverflow.com/a/21827981/196561中的建議,您可以嘗試安裝pthreads-來自https://www.sourceware.org/pthreads-win32/的win32庫 – osgx

回答

1

感謝osgx,

由於我是新手我不能讓什麼這些「並行線程」的意思。 但畢竟我找到了解決我的問題。 我在我的機器上安裝了gcc 4.8.2 64位,從http://www.equation.com/servlet/equation.cmd?fa=fortran。 它改變了路徑本身的環境變量。安裝完畢後, 我重新啓動我的電腦 ,當我輸入:

在命令行上面的代碼,代碼的工作!

華友世紀:)

0

另一個技巧是使用docker container with gcc

步驟:

  1. 安裝搬運工
  2. 在搬運工終端:通過鍵入docker pull gcc
  3. 然後運行一個終端和安裝在您的C腳本是在gcc容器內的主機文件夾:docker run -it -v /hostfolder:/folderincontainer gcc /bin/bash
  4. 然後在終端中執行腳本。

這很容易。是不是!