Я загружаю pthread-w32-2-9-1-release.zip, распаковываю его и использую Prebuild / include lib и dll с VisualStudio2013.
Я создал пустой проект VC ++ «helloc» с помощью main.c, а затем написал простой пример с функциями pthread_create pthread_join.
Это моя конфигурация:
Свойства-> C / C ++ -> Общие-> Дополнительные каталоги включения, добавьте «F: \ pthread_win32 \ include»
Свойства-> Линкер-> Общие-> Дополнительные каталоги библиотеки, добавьте «F: \ pthread_win32 \ lib \ x86»
Свойства-> Линкер-> Ввод-> Дополнительные зависимости, добавьте «pthreadVC2.lib»
И он успешно собран, но когда я нажимаю «Локальный отладчик Windows», консоль перестает работать с ошибкой helloc.exe, поскольку не удается найти файл pthreadVC2.dll.
Затем я скопировал pthreadVC2.dll в helloc / Debug /, тот же каталог, что и helloc.exe, и наконец он работает.
Но я не знаю, почему pthreadVC2.lib и pthreadVC2.dll требуются helloc.exe. Обязательно ли использование lib и dll в VisualStudio?
Если только одного из них (pthreadVC2.lib pthreadVC2.dll) достаточно для поддержки helloc.exe, как я могу указать, какой из них (dll или lib) я хочу использовать в VisualStudio с helloc.exe?
И я не хочу помещать все библиотеки pthread и dll в «C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC», я хочу знать, как настроить вручную.
AFAICT, встроенная библиотека — это просто библиотека импорта для DLL. (Позволяет вам ссылаться на DLL, следовательно, требуется)
Если вы хотите связать статически, вам придется пересобрать библиотеку самостоятельно. Смотрите файл README для получения дополнительной информации.
Других решений пока нет …