Нужно ли использовать как pthreadVC2.lib, так и pthreadVC2.dll в visual studio 2013?

Я загружаю 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», я хочу знать, как настроить вручную.

2

Решение

AFAICT, встроенная библиотека — это просто библиотека импорта для DLL. (Позволяет вам ссылаться на DLL, следовательно, требуется)
Если вы хотите связать статически, вам придется пересобрать библиотеку самостоятельно. Смотрите файл README для получения дополнительной информации.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]