That defines have to be in line with the ones used in FileFactory.cpp:
[CODE]
#ifdef HAS_FILESYSTEM_SMB
#ifdef TARGET_WINDOWS
    else if (strProtocol == "smb") return new CWINFileSMB();
#else
    else if (strProtocol == "smb") return new CSmbFile();
#endif
#endif
[/CODE]

So yeah, _WIN32 should be replaced with TARGET_WINDOWS. In the version I was working with back then it still was _WIN32.