2016-07-20 3 views
2

Я относительно не знаком с C++ и слежу за учебником Lazy Foo по установке SDL2 в visual studio 2010 (но я использую Visual Studio 2015).C++ SDL (Visual Studio 2015): невозможно открыть файл stddef.h

Я следовал за руководство несколько раз сейчас, так что почти уверен, я incuded нужные файлы и т.д. Вот снимок экрана моего VC++ настройки каталогов:

enter image description here

VC++ Directories settings screen shot

#include <SDL.h> 
#include <stdio.h> 

int main(int argc, char* argv[]) { 
    SDL_Init(SDL_INIT_EVERYTHING); 
    SDL_Window *window = 0; 
    window = SDL_CreateWindow("SDL window", 
     SDL_WINDOWPOS_CENTERED, 
     SDL_WINDOWPOS_CENTERED, 
     640, 480, 
     SDL_WINDOW_SHOWN); 
    SDL_Delay(1000); 
    SDL_DestroyWindow(window); 
    SDL_Quit(); 

    return 0; 
} 

После компиляции (32 бит) Я получаю эту ошибку:

......\documents\sdl\sdl2-2.0.4\include\sdl_stdinc.h(50): fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory

У меня также есть ошибка «не удается открыть исходный файл stdio.h» при наведении курсора на включаемого заявление для stdio.h

Я буду продолжать смотреть на все это, но если у кого есть какие-либо предложения, был бы весьма признателен. В противном случае я, скорее всего, просто установлю на Linux :)

Приветствия и благодарности за ваше время.

+0

Это должно быть 'cstdio.h'. Вы получили бинарные файлы разработки Visual Studio SDL? Или что-то другое? –

+0

@ IvanRubinson Спасибо, используя #include решает проблему импорта для импорта stdio, гораздо лучший способ сделать это. Я все еще получаю ошибку, указанную выше при компиляции. – gabriel

+0

Он говорит, что не может найти [''] (https://msdn.microsoft.com/en-us/library/2b6eh9x3.aspx); у вас есть правильный SDK Windows, который включает ссылки? – txtechhelp

ответ

1

Рекомендации: Используйте раскрывающийся список (наследуйте от родительских или по умолчанию по умолчанию), чтобы восстановить визуальные каталоги C++, которые вы никогда не должны редактировать.

Не добавляйте его в каталоги C++. Это странная идея. Добавьте его в свойства конфигурации> c/C++> дополнительные каталоги. Если бы вы это сделали, значит, вы не могли бы испортить компилятор. Это намного проще. Просто вставьте один каталог там. Для этого и предназначено.

Также Lazy Foo, похоже, имеет только руководство VS2010. Может быть, я просто не мог найти руководство VS2015 ...

+0

Спасибо Zeromus за ваше время и помощь, оценили. В настоящее время я ремонтирую свою установку visual studio 2015, поскольку, как я думаю, в процессе включения файлов, как было предложено в учебнике, он что-то испортил. Я согласен, хотя об учебнике, но я думаю, в основном потому, что он устарел. Я пытался установить SDL некоторое время, пока еще не нашел актуального руководства по установке vs2015. – gabriel

+0

Прежде чем переустановить следующий раз, попробуйте создать проект на C++ без SDL, который содержит файлы, которые не могут быть найдены, чтобы узнать, не сломал ли вы компилятор, или это только SDL, который не может их включить. – zeromus

+0

Будем очень благодарны @zeromus – gabriel

0

Сообщение об ошибке

fatal error C1083: Cannot open include file: 'stddef.h': No such file or directory

как правило, происходит, когда вы создаете свою программу с версией MSVC, отличной от той, которая используется для создания библиотеки.

Вы должны узнать, с какой версией были созданы двоичные файлы SDL, и попытайтесь использовать это. Возможно, будет работать более новый MSVC, а более старый - нет.

Вы всегда можете попробовать построить SDL самостоятельно.

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