Hi All,

I am using Qt 4.6.2 VS2008 binaries in Windows XP VisualStudio2008 . I have a class like below;

class EventLogger
{
public:
static void CreateFile(const wchar_t *directory, wchar_t *fileName);
static void CreateFile(const wchar_t *directory, wchar_t *fileName, LONG maxFileSize);
};

When I try call EventLogger::CreateFile(L".....", L"......"); in my project I see wierd error like below;

LINK : C:\ETC_PROJECTS\103095_KOREA_GYROLAB\Source\GUI\Debug\GUI.exe not found or not built by the last incremental link; performing full link
1>MainControl.obj : error LNK2019: unresolved external symbol "public: static void __cdecl EventLogger::CreateFileW(unsigned short const *,unsigned short *,long)" (?CreateFileW@EventLogger@@SAXPBGPAGJ@Z) referenced in function "private: short __thiscall MainControl::CreateEventLogFile(void)" (?CreateEventLogFile@MainControl@@AAEFXZ)

My eventlogger's CreateFile function interlacing with winbase.h CreateFileW funtion which is like below;

#ifdef UNICODE
#define CreateFile CreateFileW
#else
#define CreateFile CreateFileA
#endif // !UNICODE

What do you think about? Why my special custom function interlacing different system function? If I change my function name to diffent than CreateFile (for example CreateFileX) there is no problem. I can call my custom function by hangin it's name. How can I solve this inconsistency?

Thanks in advance.
Regards.