2016-05-16 3 views
3

Я пытаюсь скомпилировать OBS studio с помощью this tutorial в Windows с помощью Visual Studio Community 2015. Я создал проект в visual studio и скопировал весь git-репо в проект, перетащив файлы в исследователь решения. Этот проект имеет зависимости от libav, x264 и curl. Они указаны как .lib, .dll и заголовочные файлы.Не удается открыть исходный файл в visual studio 2015

Проблема в том, что я продолжаю получать «невозможно открыть исходный файл». У меня есть файлы заголовков в отдельной папке из dll и lib (dll и lib находятся в одной папке). В настройках проекта -> VC++ Directories я добавил каталог include, а также добавил каталог библиотеки. Затем я добавил lib непосредственно в Linker-> input-> Additional Dependencies. Затем я добавил каталог, содержащий файлы .dll, в переменную среды PATH.

После этого я все равно получаю ту же ошибку, а также несколько других ошибок. Вот скриншот одного исходного файла, у которого есть проблема.

cannot open source file

Это мои настройки.

Directories

Libraries

enter image description here

Для пути, я попытался с и без задн косую черту.

+0

Убедитесь, что вы меняете настройки проекта для той же конфигурации, что и вы. Я вижу Debug/Win32 и Debug/x86. Не уверен, что те же. Убедитесь, что include folder содержит * folder *, которая перед '/' в предложении '# include', и эта папка содержит * файл *, который вы включаете. Физически. Я имею в виду пойти туда и посмотреть, существуют ли они. – Drop

ответ

5

EDIT: Используйте настройки C/C++ вместо настроек VC++ для дополнительных включенных каталогов.

Что, вероятно, вас задерживает, так это то, что эти значки папок на боковой панели VS фактически не связаны с файловой системой. Они являются фильтрами и не меняются в зависимости от фактического каталога.

Это еще одно объяснение предложения Drop - проверьте, действительно ли файлы находятся там, где вы думаете.

+0

Файлы заголовков существуют относительно пути, который я помещаю в каталог include. Визуальная студия найдет их и откроется тогда. Поскольку это библиотеки, исходный код отсутствует. Вот почему я немного потерял, как правильно их реализовать. Файлы lib и DLL не называются точно так же, как файлы заголовков, так что это также добавляет моей путаницы. – cmacia06

+0

Ваши ошибки теперь не имеют никакого отношения к .lib или .dll (пока). Вы можете попробовать использовать C/C++ вместо VC++ для дополнительных включений. Вы также можете попробовать включить каталоги, используя "" вместо <>. –

+0

Я нашел проблему. Мне просто пришлось добавить дополнительные каталоги в C/C++ и компоновщик, а не в «VC++ Directories», как вы сказали. Если бы вы могли изменить ответ, чтобы отразить это, я могу принять его в качестве ответа. Спасибо! – cmacia06

1

В моем случае я уже добавил библиотеки include, но этого было недостаточно. Ошибка исчезла, как только я переключил конфигурацию с x86 на x64 в свойствах проекта.

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