Closed brechtsanders closed 3 years ago
It build locally for me and it also build successfully on the CI. What ask version are you using ?
I built from tarball downloaded from: https://github.com/dokan-dev/dokany/archive/v1.4.1.1000.tar.gz
Yes but what windows sdk is used to build the project ? The undefined type comes from windows headers not the dokan code.
MinGW-w64 8.0.0 using MinGW-w64 GCC from http://winlibs.com/
I have no idea why this is not defined in your mingw version sorry. The type should exist and it is not a new windows 10 type so that's surprising.
The patch your proposed is unfortunately not valid. We do need to use that exact type.
Ok. For now I will work around it like this:
mv dokan/directory.c dokan/directory.c.bak
cat > dokan/directory.c << EOF
#include <windows.h>
typedef struct DOKAN__FILE_ID_EXTD_DIR_INFO {
ULONG NextEntryOffset;
ULONG FileIndex;
LARGE_INTEGER CreationTime;
LARGE_INTEGER LastAccessTime;
LARGE_INTEGER LastWriteTime;
LARGE_INTEGER ChangeTime;
LARGE_INTEGER EndOfFile;
LARGE_INTEGER AllocationSize;
ULONG FileAttributes;
ULONG FileNameLength;
ULONG EaSize;
ULONG ReparsePointTag;
FILE_ID_128 FileId;
WCHAR FileName[1];
} DOKAN_FILE_ID_EXTD_DIR_INFO, *DOKAN_PFILE_ID_EXTD_DIR_INFO;
EOF
sed -e "s/P*FILE_ID_EXTD_DIR_INFO/DOKAN_&/g" dokan/directory.c.bak >> dokan/directory.c
Version 1.4.1.1000 won't build because PFILE_ID_EXTD_DIR_INFO and FILE_ID_EXTD_DIR_INFO are not defined in dokan/directory.c.
Compiles fine by replacing them with PFILE_ID_EXTD_DIR_INFO and FILE_ID_EXTD_DIR_INFO in dokan/directory.c, but I'm not sure that is how it should be.