CodeBlocks 12.11,MinGW

时间:2013-12-06 20:48:28

标签: c openmp codeblocks

我有CodeBlocks 12.11,mingw32-base(已安装版本2013072200)(C语言)

在编译器设置中我链接了:... \ CodeBlocks \ MinGW \ bin \ libgomp-1.dll。 我添加了其他选项“-fopenmp”。

程序看起来像这样:

#include <stdio.h>
int main(){
    #pragma omp parallel
    {
        printf("Hello World!\n");
    }

    return 0;

}

我在Windows 7 x64上尝试了一切,但我似乎无法成功使用这个OpenMP,不知道我做错了什么,谷歌没有帮助。

尝试构建时的错误是:

-------------- Clean: Debug in Test (compiler: GNU GCC Compiler)---------------

Cleaned "Test - Debug"

-------------- Build: Debug in Test (compiler: GNU GCC Compiler)---------------

mingw32-gcc.exe -Wall  -g  -fopenmp    -c C:\Users\MStranko\Desktop\PROJEKT444\Test\main.c -o obj\Debug\main.o
mingw32-g++.exe  -o bin\Debug\Test.exe obj\Debug\main.o    D:\Programy\CodeBlocks\MinGW\bin\libgomp-1.dll 
Execution of 'mingw32-g++.exe  -o bin\Debug\Test.exe obj\Debug\main.o    D:\Programy\CodeBlocks\MinGW\bin\libgomp-1.dll' in 'C:\Users\MStranko\Desktop\PROJEKT444\Test' failed.
Nothing to be done (all items are up-to-date).

我是新手使用C甚至更新使用OpenMP(遗憾的是我仍然被迫)。如果我能得到任何帮助,我会感激不尽。

2 个答案:

答案 0 :(得分:1)

我记得我第一次安装Code :: Blocks时工作不正常。但是,我也使用的一个简单但很好的IDE是Dev-C ++。

答案 1 :(得分:1)

请不要使用Dev-C ++。如果您查看其download页面,您会看到它最后一次更新于2005年!

提出了一个简单的解决方案CodeBlocks Forum ::

  

我遇到了同样的问题:在C :: B中,编译了一个小的OpenMP示例但是   得到了对'omp_get_num_threads'的未定义引用。我有手动   使用mingw-gcc编译并链接了这个例子,但没关系。克++   testOpenMP.cpp -o a.exe -fopenmp然后我手动编译和链接   分别独立,

    g++ testOpenMP.cpp -c -o testOpenMP.o -fopenmp

    g++ testOpenMP.o -o a.exe  (the same problem occurred.)
  

如果与-fopenmp链接,则可以。

     

结论:C :: B执行链接器来创建执行,而不是使用   -fopenmp链接选项。解决方案是将gomp添加到链接库

尝试一下:)