E1696 die Datei Quelle kann nicht geöffnet werden

I am using C++/CLI for the first time. I am trying to include a DLL into my project (JtToolkit-Library). The Library is only usable in x64. Now I want to create a C++/CLI project which uses this DLL. And a C# Project which uses the C++/CLI assembly.

My problem is that when I include my headers from the DLL, I get the error: "E1696: C++ Die Datei "Quelle" kann nicht geöffnet werden: "JtTk/JtkCADExporter.h"." (E1696: cannot open source file)

When I change the the build configuration to x86, the error goes away and It will find the Header, but can not link with the library, because the library is x64.

I have no idea what is cauing the problem. Is it plausible my C++/CLI template is only working in x86? How can I include the DLL into the project with C++/CLI?

Hi,

Ich arbeite gerad akribisch daran, einen DirectX-Screenshot mithilfe von C++ anzufertigen, mein Code schlägt aber mit folgender Compiler-Meldung fehl:

Datei (Include) kann nicht geöffnet werden: "D3dx9tex.h": No such file or directory

Was der Fehler bedeutet ist mir klar; Der Compiler(bzw. der Linker) findet die header-Datei "D3dx9tex.h" nicht... Aber wieso nicht? Ich weiß, es ist nicht gerade viel Information, mehr hab ich nur leider auch nicht, würde mich sehr freuen, wenn mir trotzdem jemand helfen kann!

Hi,

Ich habe beim Kompiliren 97mal folgenden Fehler.

Wizard.cpp
c:\programme\microsoft visual studio\vc98\mfc\include\afxv_w32.h(119) : warning C4005: '_WIN32_WINDOWS' : Makro-Neudefinition
c:\emulecode\stdafx.h(23) : Siehe vorherige Definition von '_WIN32_WINDOWS'

c:\emulecode\stdafx.h(47) : fatal error C1083: Include-Datei kann nicht geoeffnet werden: <B>'afxdhtml.h'</B>: No such file or directory

Das Programm wurde mir VC7 geschrieben, ich habe VC6 hat das was damit zu tun? Wenn ja was kann ich dagegen machen??

Vielen Dank

  • #1

Ich möchte gerne aus einem Unterverzeichnis eine Header-Datei aus einem übergeordneten Verzeichnis einbinden.

Jedoch meckert hier Visual Studio folgenden an:
Die Datei "Quelle" kann nicht geöffnet werden: "../test.h" !!

Danke

  • #2

Dann ist die Pfadangabe falsch.
Es ist nicht immer ganz verständlich, von welchem Verzeichnis man ausgehen soll.
Probier noch ein ../ oder weg oder so...

  • #3

nee also irgednwie macht er bei mir was er will. Ich habe folgende Struktur:
Oberste Ebene test.h
UnterOrdner test1.h
unterunterOrdner test2.h

Nun will ich in test1.h die test.h einbinden und in test2.h die test1.h!!
Für mein Verständnis müsste das dann so aussehen:
test1.h: #include "../test.h"
test2.h: #include "../test1.h"
Richtig? Meckert aber rum!

  • #4

Hallo,

Grundsätzlich ist deine Variante richtig. Welche Meldungen bekommst du denn genau?
Außerdem Achtung: Die Struktur die du in deinem Visual-Studio Projekt hast muss nicht die selbe sein wie auf der Festplatte. Include-Pfade beziehen sich immer auf die Festplatte.

E1696 die Datei Quelle kann nicht geöffnet werden

FSA

Erfahrenes Mitglied

  • #5

Eigentlich mache ich es so:

C++:

#include "test.h" #include "../test1.h" #include "../test2.h"

Er müsste die Oberste eben als Arbeitsverzeichnis nehem oder hast du den Ausgabeordner als Arbeitsverzeichnis?
MFG

Zuletzt bearbeitet von einem Moderator: 23. Mai 2014

  • #6

Moment,

Er müsste die Oberste eben als Arbeitsverzeichnis nehem oder hast du den Ausgabeordner als Arbeitsverzeichnis?

Das Arbeitsverzeichnis hat mit Include-Pfaden nix zu tun. Das gibt nur an welches der Ordner ist aus dem das Programm beim Debuggen gestartet wird. Was du meinst sind glaub ich die Additional Include Directorys, aber selbst dann sind die von dir geposteten Pfade nicht korrekt,

C++:

test1.h: #include "../test.h" test2.h: #include "../test1.h"

stimmt schon. Meine Vermutung ist immer noch das die Filter im Visual Studio einfach nicht mit den Ordnern auf der HD übereinstimmen.

Zuletzt bearbeitet von einem Moderator: 23. Mai 2014

  • #7

Er sagt immer die Datei "Quelle" kann nicht geöffnet werden: "../test.h
Aber von den Ordnern her passte auch auf der Festplatte! Ich versteh es nicht!

  • #8

Wo liegt denn die cpp, in die du das include einfügst, in "UnterOrdner " ?

Gruß
MCoder

  • #9

@mCoder ich füge das in eine header ein!

Aber ein anderes Problem udn zwar kommt beim kompilieren folgender Fehler:

1>creator\ClusterGraphCreator.cpp(1): warning C4627: "#include "../stdafx.h"": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
1> "StdAfx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
1>creator\ClusterGraphCreator.cpp(2): warning C4627: "#include "ClusterGraphCreator.h"": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.
1> "StdAfx.h" Direktive hinzufügen oder vorkompilierten Header erneut erstellen
1>creator\ClusterGraphCreator.cpp(37): fatal error C1010: Unerwartetes Dateiende während der Suche nach dem vorkompilierten Header. Haben Sie möglicherweise vergessen, im Quellcode "#include "StdAfx.h"" einzufügen?

  • #10

Hallo,

wenn du ein Include mit relativer Pfadangabe einfügst (egal ob in .h oder .cpp), muss der Include-Pfad relativ zu dem Speicherort sein, an dem die Source liegt, in die du einfügst. Deswegen meine Frage, wo in dem Verzeichnisgestrüpp diese Source überhaupt liegt.

Das andere Problem hat dieselbe Ursache, dass nämlich "../stdafx.h" nicht gefunden wird. Die da mit dranhängenden Meldungen sind alles nur Folgefehler.

Gruß
MCoder