Page 1 of 1

Compilation of latest CVS version failed in Unicode mode

Posted: Mon Dec 20, 2004 2:38 pm
by dejudicibus
I am trying to compile latest version of wxWidgets from CVS with Unicode set ON, but I get the following error which prevents me to create libraries:

Code: Select all

bcc32 -q -c -P -obcc_mswu\baselib_mslu.obj  
	-ID:\Development\bcc\include -v-   
	-O1 -tWM -D__WXMSW__     
	-D_UNICODE -I..\..\include -I..\..\lib\bcc_lib\mswu -I..\..\src\tiff   
	-I..\..\src\jpeg -I..\..\src\png -I..\..\src\zlib -I..\..\src\regex   
	-I..\..\src\expat\lib -DwxUSE_GUI=0 -DwxUSE_BASE=1 -Hu   -H=bcc_mswu\wxprec_baselib.csm -a8 -g0 
	..\..\src\msw\mslu.cpp ..\..\src\msw\mslu.cpp:

Loaded pre-compiled headers.

Error E2034 ..\..\src\msw\mslu.cpp 224: 
	Cannot convert '_stati64 *' to 'stati64 *' in function 
	wxMSLU__wstati64(const wchar_t *,_stati64 *)

Error E2342 ..\..\src\msw\mslu.cpp 224: 
	Type mismatch in parameter '__statbuf' (wanted 'stati64 *', got '_stati64 *') 
	in function wxMSLU__wstati64(const wchar_t *,_stati64 *)

Error E2034 ..\..\src\msw\mslu.cpp 226: 
	Cannot convert '_stati64 *' to 'stati64 *' in function 
	wxMSLU__wstati64(const wchar_t *,_stati64 *)

Error E2342 ..\..\src\msw\mslu.cpp 226: 
	Type mismatch in parameter '__statbuf' (wanted 'stati64 *', got '_stati64 *') 
	in function wxMSLU__wstati64(const wchar_t *,_stati64 *)

Warning W8057 ..\..\src\msw\mslu.cpp 227: 
	Parameter 'buffer' is never used in function 
	wxMSLU__wstati64(const wchar_t *,_stati64 *)

*** 4 errors in Compile ***

Posted: Mon Dec 20, 2004 4:08 pm
by dejudicibus
I really cannot understand why I get that error. I looked for stati64 in both BCC and WXWIDGETS folders, but there is not such a type: only _stati64 and _wstati64 as expected. So where stati64 comes from?

Is it a bug in wxWidgets or a parm to be set?

Posted: Mon Dec 20, 2004 4:11 pm
by dejudicibus
Got it. In bcc include file stat.h there is

Code: Select all

#if !defined(__STDC__) && (__BORLANDC__  >= 0x0520)
struct  stati64
{
    dev_t   st_dev;
    ino_t   st_ino;
    mode_t  st_mode;
    nlink_t st_nlink;
    uid_t   st_uid;
    gid_t   st_gid;
    dev_t   st_rdev;
    __int64 st_size;
    _TIME_T  st_atime;
    _TIME_T  st_mtime;
    _TIME_T  st_ctime;
};
#endif
So, what I have to do now to fix the problem?