2015-08-27 2 views
0

Связывание файлов будет смертью меня.Visual Studio Не удается открыть файл include; Нет такого файла или каталога

Итак, у меня была эта проблема много раз прежде, чем в Visual Studio для C++ и Eclipse для Java. Прямо сейчас у меня проблемы с визуальной студией при попытке настроить проект, чтобы я мог начать общаться с Kinect SDK. Первое, что я сделал, чтобы включить NuiApi.h

#include <NuiApi.h> 

Я удостоверился, чтобы войти в VC++ каталогов и добавить правильный включают в себя каталоги $(KINECTSDK10_DIR)\inc и $(KINECTSDK10_DIR)\lib\x86 для библиотечных каталогов. Я также пошел в Linker и добавил Kinect10.lib в дополнительных зависимостях в разделе «Ввод».

У меня была проблема даже после включения этих каталогов в проект. Поэтому я немного изучил и перешел в C/C++ -> General и снова добавил каталоги include в «Дополнительные каталоги Include», чтобы убедиться, что это исправит ... ничего не сделал.

Итак, я вернулся к компоновщику и добавил каталоги библиотек в разделе «Общие» в дополнительных библиотечных каталогах, чтобы узнать, не сделает ли это что-либо, и это все еще не имеет.

У меня сейчас полная потеря, и я очень смущен тем, почему эти файлы не включены правильно! Я клянусь, что это происходит каждый раз, когда я пытаюсь работать с новым API, и мне приходится возиться с ним, пока он не начнет работать по какой-то причине. Я делаю что-то неправильно? Мне что-то не хватает? У кого-нибудь есть идеи?

+2

Запасные угловые скобки вокруг включают имена файлов для файлов, находящихся в дереве каталогов компилятора. Я не знаком с Kinect SDK, но большинство SDK, которые я использовал, не будут установлены в дереве каталогов компилятора. Поэтому в этом случае я бы попробовал '#include" NuiApi.h ". Кроме того, библиотеки, которые использует компоновщик, обычно не имеют никакого отношения к путям '# include'. Я бы не стал беспокоиться о библиотеках до тех пор, пока я не включил все функции '# include'. – Logicrat

+0

@Logicrat Я пробовал делать #include "NuiApi.h", и это сработало! Однако он дал мне кучу других ошибок, потому что (я предполагаю), что в файле NuiApi.h есть #include , и поскольку он находится в <>, его можно получить только в том случае, если он был добавлен в проект. Поэтому, чтобы исправить это, мне пришлось бы пройти через все файлы .h и изменить #include на #include "whatever.h" – MagnusCaligo

+1

Я бы обычно резервировал '' для файлов системных заголовков и '' whatever.h «для пользовательских файлов заголовков, чтобы избежать путаницы. –

ответ

3

Разница между цитируемой и формой углового кронштейна поясняется here for visual studio. В principle цитированная форма используется для конкретных проектов, в то время как форма угла используется для системных библиотек. В вашем случае угловая скобка кажется правильной.

То, что вы должны сделать, чтобы добавить включать в каталоги C++:

Right click on project -> Properties 
VC++ directories 

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

Наконец, вы должны убедиться, что переменная окружения KINECTSDK10_DIR указывает на нужное место (для Windows + X -> Система -> Дополнительные параметры системы -> Переменные среды). Внимание: если вы отредактируете эти параметры, вам придется перезапустить визуальную студию, чтобы учитывать новую среду.

+2

Спасибо! Я изменил свойства для этой выпускной версии! Я такой идиот!!!! – MagnusCaligo

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

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