c ++ - dirent.h casuing problemer med ShellAPI.h

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har en funktion:


SHFileOperationFunc(string item1, string item2, int operation, CuTest *tc)


Det er vant til at foretage operationer (flytte, slette eller kopiere) mapper. Det virker fint. Men jeg forsøger nu at bruge ting fra dirent.h. Når jeg inkludere filen, forårsager det store problemer med ting fra ShellAPI.h Jeg bruger i SHFileOperationFunc. Jeg fik dirent.h som pr. Http://www.softagalleria.net/dirent.php. [4]


Efter at jeg har inkluderet filen, får jeg fejl som:


error C2065: 'FO\_DELETE' : undeclared identifier
error C2065: 'FO\_COPY' : undeclared identifier
error C2065: 'FO\_DELETE' : undeclared identifier
error C2065: 'FO\_DELETE' : undeclared identifier


Disse er defineret i ShellAPI.h. Når jeg svæver over dem i VS, siger det værdien de har, så det ser dem. Alle ved, hvorfor denne fil har denne effekt?

Bedste reference


Brug af dirent.h på en Windows-maskine er unadvisable, det er en Unix header. Filen, du downloadede, skruer op resten af ​​din #includes. Angiv enten efter #include <windows.h> eller rediger filen og slet #define for WIN32\_LEAN\_AND\_MEAN. At sætte det i en header er vel, mener. Det forårsager, at et stort antal erklæringer springes over i Windows-overskrifterne.