Хорошо, поэтому я запускаю Eclipse Mars.1 (с компилятором MinGW) на ОС Windows 8.1, и я пытаюсь включить использование потоков POSIX. Я загрузил pthreads win32 из: https://www.sourceware.org/pthreads-win32, так как в Windows нет библиотеки pthread, включенной в качестве linux. После того, как я скачал файл .zip я уже распакованы файлы, как это:Как добавить потоки posix в eclipse на окнах (MinGW)
- pthreadGC2.dll в C: \ MinGW \ Bin
- pthread.h, sched.h, semaphore.h в C: \ MinGW \ включают
- libpthreadGC2.a в C: \ MinGW \ Lib
Перейти к Eclipse, я уже прямо нажал проект -> свойства -> C/C++ Build -> настройки -> MinGW C компоновщик, теперь здесь возникает проблема, я понятия не имею, что мне следует добавить в раздел «Библиотеки/Разное». Eclipse распознает #include <pthread.h>
(его не красный цвет - подчеркивая его) и функции pthread.h, но как только я попытаюсь его построить, он говорит следующее:
15:10:11 **** Инкрементный Сборка конфигурации Отладка для проект ASD **** Информация: Внутренний строитель используется для сборки gcc -o ASD.exe qweqwe.o -lpthread c:/mingw/bin /../ lib/gcc/mingw32/4.8.1/.. /../../../mingw32/bin/ld.exe: не может найти -lpthread collect2.exe: ошибка: л.д. возвращается 1 выход статус
15:10:11 построить завершенности (взял 122ms)
Я не могу понять, что я делаю неправильно, я попытался изменить имя библиотеки (на вкладке настроек компоновщика) на pthreadGC2, но если я сделаю это, Eclipse просто подчеркивает pthread_create и говорит, что это неопределенная ссылка на _imp_pthread_create.
Если кто-то попытался и преуспел в этом, пожалуйста, поделитесь своей мудростью. Заранее спасибо!
Я не знаю eclipse, так что просто еще один намек: с помощью 'gcc' вы не должны просто * link * libpthread (с' -lpthread'), но вместо этого используйте специальный параметр '-pthread', который * также * ссылки libpthread. Конечно, это не поможет, пока libpthread не найден компоновщиком, так что это на самом деле просто намек на потом. –
Если я компилирую с 'gcc', и я думаю, что mingw основан на gcc. то требуемые параметры будут следующими: '-L \ MinGW \ lib -lpthreadGC2', или поскольку pthread является« специальным »параметром, тогда:' -pthread' – user3629249
Я уже пробовал каждую чертову комбинацию, я понятия не имею, почему это не работает. Есть ли какой-либо компилятор, подходящий для eclipse, который имеет встроенный pthread? –