Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [MS VC++] Suchpfade (https://www.delphipraxis.net/28169-%5Bms-vc-%5D-suchpfade.html)

Chewie 20. Aug 2004 12:04


[MS VC++] Suchpfade
 
Ich hab ein verdammt dummes Problem mit meinem C++-Compiler (oder ist es der Linker, ich weiß es nicht):
Und zwar findet er Header-Dateien nicht. Ich will einen Treiber kompilieren, dazu braucht er die ntddk.h. Diese befindet sich in einem Verzeichnis, das im Suchverzeichnis für Include-Dateien eingetragen ist. Oder besser gesagt ist es ein paar Ebenen tiefer, aber ich nehme an, die Suche verläuft rekursiv, oder??

Außerdem wird an den Compiler mit der Option /I der Pfad "NTDDK\inc" angegeben. Leider weiß ich nicht, relativ zu welchem Verzeichnis das sich bezieht. Auch die Angabe des absoluten Pfades hilft nichts.

Kennt sich da jemand aus? Wär echt super.

Ach ja, die Datei ist natürlich im entsprechenden Verzeichnis (bzw. in einem Unter-Unter-Verzeichnis) drin.

Edit: Aargh, Titel vergessen!

Dannyboy 20. Aug 2004 13:10

Re: [MS VC++] Suchpfade
 
Moin Chewie,
hast 'de an ...
Code:
#include <ntddk.h>
... gedacht? :gruebel:

NicoDE 20. Aug 2004 13:14

Re: [MS VC++] Suchpfade
 
Welches WinDDK verwendest Du denn? (das aktuelle unterscheidet sich stark vom Vorgänger)

Chewie 20. Aug 2004 13:22

Re: [MS VC++] Suchpfade
 
Das von XP.

Chewie 20. Aug 2004 13:23

Re: [MS VC++] Suchpfade
 
Zitat:

Zitat von Dannyboy
Moin Chewie,
hast 'de an ...
Code:
#include <ntddk.h>
... gedacht? :gruebel:


Klar. Sonst würde er die Datei ja gar nicht suchen wollen ;)

NicoDE 20. Aug 2004 13:25

Re: [MS VC++] Suchpfade
 
Sicher dass Du 'build' aus der Konsole verwendest (in der die Pfade bereits richtig gesetzt sind: setenv...)?
'nmake' und Konsorten kannste gleich vergessen :)

Chewie 20. Aug 2004 13:31

Re: [MS VC++] Suchpfade
 
Nein, bisher versuche ich das Kompilieren aus der IDE raus. Hätt ich vielleicht dazu schreiben sollen :oops:

Ich hab hier ein Buch namens "Gerätetreiber unter Windows 2000". Dort ist u.a. ein Wizard fürs VisualStudio zum Erstellen eines DeviceDrivers. Dort werden einige Linker- und Compileroptionen gesetzt.

Beim Compiler sieht das z.B. aus:
Zitat:

/nologo /Gz /ML /W3 /Gm /Gi /Zi /Od /I "E:\NTDDK\inc\ddk" /I "E:\NTDDK\inc" /D "_DEBUG" /D "_X86_" /D _WIN32_WINNT=0x500 /Fp"Debug/Minimal.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /Gs -GF /c
Ich hab beim Parameter /I zwar den Pfad angegeben, in dem die .h-Dateien des DDK liegen, aber er findet die Datei leider nicht.

Mit build werd ichs gleich mal probieren, aber ich fänds halt ganz schön, wenns direkt aus der Konsole raus ginge.
Leider ist bei C-Compilern das Kompilieren/Linken fast komplizierter als das Programmieren :|

NicoDE 20. Aug 2004 13:33

Re: [MS VC++] Suchpfade
 
Zitat:

Zitat von Chewie
Nein, bisher versuche ich das Kompilieren aus der IDE raus.

Ich kenne den Wizard nicht (gehört ja, benutzt nein), und denke, Du solltest erstmal den klassischen Weg gehen.
Und wenn alles funktioniert, dann kannst Du immer noch probieren, es in der IDE zum Laufen zu bekommen :)

Chewie 20. Aug 2004 14:01

Re: [MS VC++] Suchpfade
 
Über Build funktioniert das ganze auch nicht so, wie es soll :?
ich starte über die Batchdatei für einen "Checked" Build im Starmenü. Dann wechsle ich in mein Quellcode-Verzeichnis, wo auch Makefile und sources drinliegen und starte build. Ich krieg dann zwar keine Fehlermeldungen, aber auch keine Dateien außer der .log-Datei und einer _objects.mac im Unterordner objchk.

Und was in der Logdatei steht sagt mir auch wenig:
Zitat:

BUILD: Computing Include file dependencies:
BUILD: Examining e:\treiber\kap 06\minimal directory for files to compile.
Compiling e:\treiber\kap 06\minimal directory ********************
'nmake.exe /c BUILDMSG=Stop. -i NTTEST= UMTEST= NOLINK=1 NOPASS0=1 386=1'
jvc /nologo /cp E:\WINDDK\2600\public\sdk\classes\afc.zip;E:\WINDD K\2600\public\sdk\classes\classes.zip;E:\Treiber\K ap06\Minimal; /g /w4 /d objchk\i386
Der Befehl "jvc" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
jvc /nologo /cp E:\WINDDK\2600\public\sdk\classes\afc.zip;E:\WINDD K\2600\public\sdk\classes\classes.zip;E:\Treiber\K ap06\Minimal; /g /w4 /d objchk\i386
Der Befehl "jvc" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
Linking e:\treiber\kap 06\minimal directory ********************
'nmake.exe /c BUILDMSG=Stop. -i LINKONLY=1 NOPASS0=1 NTTEST= UMTEST= 386=1'
jvc /nologo /cp E:\WINDDK\2600\public\sdk\classes\afc.zip;E:\WINDD K\2600\public\sdk\classes\classes.zip;E:\Treiber\K ap06\Minimal; /g /w4 /d objchk\i386
Der Befehl "jvc" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
jvc /nologo /cp E:\WINDDK\2600\public\sdk\classes\afc.zip;E:\WINDD K\2600\public\sdk\classes\classes.zip;E:\Treiber\K ap06\Minimal; /g /w4 /d objchk\i386
Der Befehl "jvc" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:11 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz