2015-09-30 3 views
1

Я пытаюсь использовать семафоры в Visual Studio для проекта.Использование семафоров в Visual Studio

Однако я могу получить C1083 ошибки: Cannnot открыть заголовочный файл: «pthread.h»: Нет такого файла или каталога

Есть ли способ я могу скачать семафоры?

Я также попытался включая каталог PTHREAD, и я получаю ту же ошибку

+1

Visual Studio не совместим с POSIX, POSIX является стандартом, определяющим pthreads. Для этого вам понадобится другой набор инструментов или напишите слой переноса. – user4581301

+0

Будет ли использование Windows [семафоров] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms685129 (v = vs.85) .aspx) здесь? – rcgldr

ответ

2

Звуки, как вы пытаетесь скомпилировать * код Никс на окнах. Это не невозможно, но Visual Studio не поможет.

pthreads исходят из стандарта POSIX, и Windows не поддерживает POSIX особенно хорошо. Некоторые усилия были предприняты для порта POSIX для Windows, возможно, Cygwin является наиболее успешным, а другие пытались реализовать то, что могут, в дополнительных библиотеках для семейства компиляторов GCC.

Visual studio primary поддерживает Microsoft способ делать вещи. Имеет смысл, это их хлеб и масло. Поддержка POSIX минимальна. Кто-то может портировать pthreads в Visual Studio, но я не могу рекомендовать его.

Итак, вы можете либо перенести программу или библиотеку pthread, чтобы использовать эквиваленты Win32, либо выбрать другой набор инструментов компилятора, который обертывает pthreads. Это может быть или не быть тривиальным, не глядя на код, который вам нужно портировать.

MinGW will probably compile the program or library, но я не могу гарантировать это. Миры Unix и Windows просто слишком разные для гарантий. Вам также придется отказаться от Visual Studio в качестве среды IDE.

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