2013-11-27 17 views
0

Я пытаюсь научить себя OpenMP с помощью Windows 7, но я с трудом получают код :: Blocks составить основную программу привет мир:Получение OpenMP работает в Code :: Blocks

#include <omp.h> 
#include <stdio.h> 
int main() 
{ 
    #pragma omp parallel 
    printf("Hello from thread %d, nthreads %d\n", omp_get_thread_num(), omp_get_num_threads()); 
} 

I достигли определенного прогресса, но есть одна оставшаяся постоянная ошибка, от которой я не могу избавиться.

У меня есть -fopenmp в моем компиляторе "от компилятора> Compiler Настройки-> Другие варианты"

У меня есть -gomp и -pthreads в "от компилятора> Linker Настройки-> Другие опции компоновщика"

У меня есть C: \ Program File (x86) \ Codeblocks \ MinGW \ gcc \ mingw32 \ bin в "Compiler-> Toolchain exectuable-> Дополнительные пути"

При компиляции я получаю сообщение об ошибке: "ld.exe: не может найти -lpthread "

Может кто-нибудь предложить, что я мог бы установить неправильно?

Спасибо!

ответ

2

Компонент жалуется на недостающую библиотеку. pthreads - это библиотека, которая реализует интерфейс потоковой передачи, используемый вашей реализацией OpenMP для выполнения всех потоков.

Библиотека называется «libpthread.a» (статическая версия) и «libpthread.so» (динамическая версия) на диске. Попробуйте найти эти два файла в файловой системе в вашем каталоге MinGW. Они, вероятно, находятся в каталоге под названием «lib» или «lib64». Если один из них отсутствует, вам может потребоваться установить дополнительный пакет.

Приветствия, -Michael

+0

Кажется, что Pthreads библиотека Unix, не доступен для окон. Я посмотрю, смогу ли я найти обертку для нее или что-то еще. – KBriggs

+0

Библиотека pthread должна быть частью вашего дистрибутива MinGW. Пожалуйста, посмотрите репозиторий, из которого вы установили MinGW. –

Смежные вопросы