Resource.h konnte nicht gefunden werden



  • Ich portiere gerade meine unter Visual Studio 2010 erstellten Projekte nach 2015. Ein dll-Projekt (MFC-Erweiterungs-DLL) macht gerade Probleme mit der Resource.h. In dieser DLL ist eine Login-Dialog, der in anderen Programmen importiert werden soll. Unter 2010 funktionierte das ganz gut. Die Header- und Quelldateien, die allgemein verwendet werden, liegen nicht im Projektverzeichnis. Diese zusätzlichen Verzeichnisse habe ich unter den Projekteigenschaften->VC++-Verzeichnisse angegeben. Bisher hat das auch so unter 2010 funktioniert. Ich hab das Projekt jetzt auch noch mal 1:1 neu angelegt und trotzdem kommt dieser Fehler. Gibt man den Pfad explizit an, dann funktioniert es komischerweise. Er scheint also nur in den extern vom Projektordner liegenden Pfaden zu suchen und lässt den Projektordner aus. Unter Includeverzeichnisse werden noch die Macros $(VC_IncludePath) und $(WindowsSDK_IncludePath) mit angegeben. Wie bekomm ich VS dazu, auch im Projekteordner nach Includes zu suchen? bei der stdafx.h funktionierts komischerweise. Die wird gefunden.



  • Das Problem lag daran, dass die aufrufende Datei nicht im Projektverzeichnis lag.

    Die Präprozessor sucht in dieser Reihenfolge nach Includedateien:
    1. In dem Verzeichnis, in dem auch die Datei mit der #include-Anweisung enthalten ist.
    2. In den Verzeichnissen der aktuell geöffneten Includedateien in umgekehrter Reihenfolge, in der sie geöffnet wurden.Die Suche beginnt im Verzeichnis der übergeordneten Includedatei und wird nach oben durch die Verzeichnisse aller Includedateien der zweiten übergeordneten Ebene fortgesetzt.
    3. Entlang des Pfads, der durch die einzelnen /I-Compileroptionen angegeben wurde.
    4. Entlang der Pfade, die durch die INCLUDE-Umgebungsvariable angegeben wurden.

    Ich hab das entsprechende Verzeichnis unter Projekteigenschaften->VC++-Verzeichnisse direkt mit angegeben und jetzt funktioniert es.


Anmelden zum Antworten