c++ geht alles nicht :(
-
hallo
ich habe mal ein pass tutorials und codeschnipsel von www.winapi.net getestet nur bei mir funktioniert nichts ich habe sie alle im API ausgeführt
z.B. bei Codeschnipsel Anzeigen aller Laufwerke habe den code#include <windows.h> #include <tchar.h> #include <shlwapi.h> #include <stdio.h> #ifndef BITSPERBYTE #define BITSPERBYTE 8 #endif #define IS_BIT(val, bit) ((val) & (1 << (bit))) int _tmain(void) { DWORD dwLogicalDrives, x; TCHAR szRoot[32]; dwLogicalDrives = GetLogicalDrives(); for(x = 0; x < (sizeof(dwLogicalDrives) * BITSPERBYTE); x++) { if(IS_BIT(dwLogicalDrives, x)) { PathBuildRoot(szRoot, x); _tprintf(TEXT("%s - DriveType: 0x%08X\n"), szRoot, GetDriveType(szRoot)); } } return(0); }
kopiert und dann kompliert nur da kommt dann der fehler
[Linker error] undefined reference to `_imp__PathBuildRootA@8'
D:\Dev-Cpp\Makefile.win [Build Error] [Projekt1.exe] Error 1
kann mir jemand helfen
-
PathBuildRoot(szRoot, x);
kennt er nicht, bzw fehlt ihm dafür eine implementation
-
Hast du die Lib "shlwapi.lib" dazugelinkt?
BTW: Falsches Forum. Es gibt hier ein eigenes WinApi-Forum.
-
ich habe das problem folgendermassen geloest:
-
du gehst auf die msdn seite: http://msdn.microsoft.com/default.aspx
-
rechts oben im textfeld gibst du folgendes ein: funktionsnamen + "windows user interface"
-
du waehlst den ersten link den die suche ergeben hat ( oder den ersten passenden link; in unserem fall ist das aber auch gleich der selbe )
-
lesen und verstehen. zitat: Import library shlwapi.lib
was auch immer
-
-
ok habe die shlwapi.lib dazu gelinkt jetzt geht das komplieren nur wenn ich nun die exe öffnen will passiert nichts
-
ich vermute, deine exe schließt gleich wieder.. ein übliches problem.
folgender oder ähnlicher auswurf wird produziert von deinem programm:
A:\ - DriveType: 0x00000002 C:\ - DriveType: 0x00000003 D:\ - DriveType: 0x00000003 E:\ - DriveType: 0x00000003 F:\ - DriveType: 0x00000005 G:\ - DriveType: 0x00000005
um die exe offenzuhalten, bitte mal in konsolenfaq nachlesen. ein getch, cin.get etc wirkt da wunder
zum lernen von c++ empfehle ich zuerst mal konsole ohne winapi. schau dir volkards tutorial einmal an. (siehe tutorial seite)
so long