kozmikadam Ответов: 4

не удается открыть исходный файл "unistd.h"


Всем привет ,

Я только что попробовал первый образец из OpenGL Superbible v7

а вот и код :

#include "sb7.h"

class  my_application : public sb7::application
{
public:
	void render(double currentTime)
	{
		static const GLfloat red[] = { 1.0f,0.0f,0.0f,1.0f };
	glClearBufferfv(GL_COLOR, 0, red);
}
}

declare_main(my_application);



но это дает мне ошибку.

не удается открыть исходный файл "unistd.h"


Моя ОС-Windows 10, и я использую VS 15


Так в чем же проблема ?

Я не мог решить эту проблему.

Richard MacCutchan

Проблема в том, что файл не может быть найден. вы должны проверить свою установку, чтобы убедиться, что она была установлена. Какую платформу и IDE вы используете?

kozmikadam

Привет Ричард ,

Но я использую Windows. Так почему же он ищет unistd.h ? Я использую Visual Studio 2015.

Richard MacCutchan

Я бы предположил, что это как-то связано с OpenGL. Загляните в файл sb7.h.

4 Ответов

Рейтинг:
24

Jochen Arndt

Заголовочный файл используется в системах Unix. При использовании Windows вы можете попытаться закомментировать строки, в которых она включена. Тогда вы, вероятно, получите некоторые ошибки о пропущенных функциях. Затем проверьте, определены ли отсутствующие функции в других заголовочных файлах Windows, и включите их вместо этого (Ио.ч быть кандидатом). Для функций, которые не существуют в Windows, проверьте, есть ли подобные функции, и используйте их или просто удалите вызовы. Но все это требует, чтобы вы поняли код.

Кроме того, вы можете поискать в интернете порт Windows для unistd.h заголовочный файл (поисковый запрос "unistd.h windows replacement").


Рейтинг:
2

Member 13998649

Просто замените WIN32, написанный чуть выше '#include<unistd.h>' На _WIN32


Richard Deeming

Как уже упоминалось в прошлом году в решении 4.

Рейтинг:
0

CHill60

unistd.h-это файл unix.

Этот пост[^] обсуждает альтернативы windows для него.


Stan Huang

Это работает.

Рейтинг:
0

SkydraTM

Для целей текущей задачи вы можете добавить "С Win32"symbol to PreprocessorDefinitions (Property Pages/Configuration Properties/C/C++), так что это будет выглядеть следующим образом "_DEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)- для конфигурации отладки.
Это сработало для меня.


Graeme_Grant

Почему вы отвечаете на вопрос 2-летней давности, который уже принял ответ? Пожалуйста, не делайте этого, вместо этого сосредоточьтесь только на текущем вопросе - всегда есть много ожидающих помощи.