2016-05-16 11 views
3

Ich versuche OBS studio mit this tutorial in Windows mit Visual Studio Community 2015 zu kompilieren. Ich habe ein Projekt in Visual Studio erstellt und kopiert den gesamten Git Repo in das Projekt durch Ziehen der Dateien in die Lösungsforscher. Dieses Projekt ist abhängig von libav, x264 und curl. Sie werden als .lib-, .dll- und Header-Dateien angegeben.Kann Quelldatei in Visual Studio 2015 nicht öffnen

Das Problem ist, ich bekomme immer "kann Quelldatei nicht öffnen". Ich habe die Header-Dateien in einem separaten Ordner von den DLLs und libs (dll und lib sind im selben Ordner). Unter den Projekteinstellungen-> VC++ - Verzeichnisse habe ich das Include-Verzeichnis hinzugefügt und auch das Bibliotheksverzeichnis hinzugefügt. Dann habe ich die Libs explizit unter Linker-> Eingabe-> zusätzliche Abhängigkeiten hinzugefügt. Dann fügte ich das Verzeichnis, das die DLL-Dateien enthält, der Umgebungsvariable PATH hinzu.

Nach all dem bekomme ich immer noch den gleichen Fehler, sowie ein paar andere Fehler. Hier ist ein Screenshot einer Quelldatei mit dem Problem.

cannot open source file

Das sind meine Einstellungen.

Directories

Libraries

enter image description here

Für den Weg habe ich versucht, mit und ohne Schrägstrich die hintere nach vorne.

+0

Stellen Sie sicher, dass Sie die Projekteinstellung für dieselbe Konfiguration ändern, die Sie erstellen. Ich sehe Debug/Win32 und Debug/x86. Nicht sicher, ob diese gleich sind. Überprüfen Sie, ob include-Ordner * Ordner * vor '/ 'in der' # include'-Klausel enthält und dieser Ordner eine * Datei * enthält, die Sie einschließen. Physisch. Ich meine, gehen Sie dorthin und sehen Sie, ob diese existieren. – Drop

Antwort

5

EDIT: Verwenden Sie die C/C++ - Einstellungen anstelle von VC++ -Einstellungen für zusätzliche Include-Verzeichnisse.

Was Sie wahrscheinlich aufhält, ist, dass diese Ordnersymbole in der VS-Seitenleiste nicht wirklich mit dem Dateisystem zusammenhängen. Sie sind Filter und ändern sich nicht abhängig vom aktuellen Verzeichnis.

Dies ist eine weitere Erklärung für Drops Vorschlag - überprüfen Sie, ob die Dateien wirklich dort sind, wo Sie sie finden.

+0

Die Header-Dateien sind relativ zum Pfad, den ich in das Include-Verzeichnis geschrieben habe. Visual Studio findet sie und öffnet sie dann auch. Da es sich um Bibliotheken handelt, gibt es keinen Quellcode. Deshalb bin ich ein wenig verloren, um sie richtig zu implementieren. Die lib- und DLL-Dateien werden nicht genau wie die Header-Dateien benannt, was meine Verwirrung zusätzlich verstärkt. – cmacia06

+0

Ihre Fehler haben jetzt (noch) nichts mit der .lib oder .dll zu tun. Sie können versuchen, C/C++ anstelle von VC++ für zusätzliche Includes zu verwenden. Sie könnten auch versuchen, die Verzeichnisse mit "" anstelle von <> einzubeziehen. –

+0

Ich habe das Problem gefunden. Ich musste nur die zusätzlichen Verzeichnisse zu C/C++ und Linker anstatt "VC++ -Verzeichnisse" hinzufügen, genau wie Sie sagten. Wenn Sie die Antwort ändern könnten, um das zu reflektieren, kann ich sie als Antwort akzeptieren. Vielen Dank! – cmacia06

1

In meinem Fall habe ich bereits die Include-Bibliotheken hinzugefügt, aber das war nicht genug. Der Fehler ist verschwunden, als ich die Konfiguration von x86 zu x64 in Projekteigenschaften wechselte.

Verwandte Themen