我有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(遗憾的是我仍然被迫)。如果我能得到任何帮助,我会感激不尽。
答案 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添加到链接库
尝试一下:)