2014-02-17 4 views
2

Я новичок в программировании на С.Не удается найти -lpthread?

Я пытался использовать API pthread для написания параллельной программы.

Я скачал Eclipse IDE для разработчиков C/C++, MinGW. Я поместил всю библиотеку, заголовочные файлы в соответствующее местоположение файла MinGW.

Когда я пытался построить проект, всегда есть ошибка «не могу найти -lpthread», что случилось? Я добавил «-pthread» в компилятор GCC.

Я много искал в Google, но, похоже, у меня нет такой же проблемы, как у меня.

+2

Возможный дубликат [Eclipse MinGW C++ не может найти -lpthread] (http://stackoverflow.com/questions/39185248/eclipse-mingw-c-cannot-find-lpthread) –

ответ

1

Eclipse не настроен для размещения аргумента -pthread в компиляции gcc. Чтобы решить эту проблему, перейдите в меню: посмотреть исходный текст? 1.Project -> Свойства

Из бара слева: посмотреть исходный текст? 1.c/C++ сборки -> GCC C Compiler -> Разное

Добавить «-pthread» аргумент в начале «Другие флаги» Также перейдите по ссылке: вид sourceprint? 1.c/C++ build -> Настройки -> GCC C Linker -> Библиотеки

Включите библиотеку «pthread» в другие библиотеки. Нажмите «Применить» и перестройте проект. Теперь Pthreads должны работать.

+0

Также проверьте эту ссылку: http: /stackoverflow.com/questions/14770147/eclipse-juno-gcc-compiler-pthread – vinod

+0

Я сделал то же самое. Единственная разница в том, что я не нашел ни одного GCC C Linker, но я нашел только MinGW C Linker. – matthewhang

2

I downloaded eclipse IDE for C/C++ Developers, MinGW.

MingGW использует Windows API. API Windows не предоставляет PThreads.

Вам необходимо установить PThreads for Win32, чтобы иметь доступ к PThreads под Windows, и с этим доступно под MinGW.

+0

Я загрузил все с веб-сайта и поместил файлы .lib .a в C: \ MinGW \ lib, заголовочные файлы в C: \ MinGW \ include и файлы dll в C: \ Windows. Но проблема все еще была, я не знаю, не хватает ли чего-нибудь важного. – matthewhang

+0

@ user1906523: Вам может понравиться цитировать ** полный вывод **, который вы видите на консоли Eclipse при создании. – alk

+0

Есть только одна ошибка - «не могу найти -lpthread», ничего больше. – matthewhang

4

Ответ на вопрос this question от кого-то, кто также отсутствует Библиотека MinGW pthread должна помочь вам! По сути, проблема заключается в том, что скрипт установщика MinGW может не загружать библиотеку lpthread после установки. Цитируется по ссылке:

Just run and open MinGW Installation Manager, which should be pre-installed with MinGW, select "All Packages" on the left panel, and on the right panel, search for "mingw32-pthreads-w32" packages and install them.

+1

Я считаю, что это правильный ответ. Но я использовал библиотеку cygwin. См. Мой ответ. – minghua

0

См. question on mingw.org. Я закончил с добавлением 'C:/cygwin/lib' к настройкам «Путь поиска библиотеки (-L)» по адресу properties >> c/c++ build >> settings >> MinGW C Linker >> Libraries.

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