Winelib and msvcrt/process.h

Johannes Holzer hl.ichaus at arcor.de
Thu Jul 27 09:47:13 CDT 2006


Hi Everybody.

I have some problems compiling my win32 Application with Windows-Threads 
("_beginthreadex") against winelib. It seems, that i cannot use the 
header files in /usr/include/wine/msvcrt.

Wine Version 0.9.8, 0.9.16, 0.9.17
GCC: gcc version 4.0.2 20050901 (prerelease) (SUSE Linux), gcc 3.4.4-r1 
ssp-3.4.4-1.0 pie-8.7.8 (gentoo)

1st try: Compile with

$wineg++ -c   -I. -I../com   -o ../com/b12.o ../com/b12.cppIn file 
included from ../com/b12.cpp:22:
../com/W32/b12s.cpp:12:21: error: process.h: No such file or directory
../com/W32/b12s.cpp: In function 'void* pvSTART_THREAD(void* (*)(void*), 
unsigned int, B12_ThreadClass*, B00_ThreadIdType*)':
../com/W32/b12s.cpp:109: error: '_beginthreadex' was not declared in 
this scope
../com/W32/b12s.cpp: In function 'F02_ErrorType 
B12_errSET_ENVIRONMENT_STRING(const str&, const str&)':
../com/W32/b12s.cpp:360: error: invalid conversion from 'const char*' to 
'char*'
../com/W32/b12s.cpp:360: error:   initializing argument 1 of 'int 
putenv(char*)'
winegcc: g++ failed.


okay, i need process.h. so i use the -mno-cygwin - switch, wich includes 
the "msvcrt"-path and sets some #defines.

Now the 2nd try:

$ wineg++ -c   -I. -I../com   -o ../com/b12.o ../com/b12.cpp -mno-cygwin
/usr/include/c++/4.0.2/cstdio:168: error: '::snprintf' has not been declared
/usr/include/c++/4.0.2/cstdio:169: error: '::vfscanf' has not been declared
/usr/include/c++/4.0.2/cstdio:170: error: '::vscanf' has not been declared
/usr/include/c++/4.0.2/cstdio:172: error: '::vsscanf' has not been declared
/usr/include/c++/4.0.2/cstdio:178: error: '__gnu_cxx::snprintf' has not 
been declared
/usr/include/c++/4.0.2/cstdio:179: error: '__gnu_cxx::vfscanf' has not 
been declared
/usr/include/c++/4.0.2/cstdio:180: error: '__gnu_cxx::vscanf' has not 
been declared
/usr/include/c++/4.0.2/cstdio:182: error: '__gnu_cxx::vsscanf' has not 
been declared
/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:55: error: 
'uselocale' was not declared in this scope
/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:55: error: 
invalid type in declaration before ';' token
/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h: In function 
'int std::__convert_from_v(char*, int, const char*, _Tv, 
__locale_struct* const&, int)':
/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:73: error: 
'__gnu_cxx::__uselocale' cannot be used as a function
/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:84: error: 
'snprintf' is not a member of 'std'
/usr/include/c++/4.0.2/i586-suse-linux/bits/c++locale.h:90: error: 
'__gnu_cxx::__uselocale' cannot be used as a function
/usr/include/bits/sigthread.h: At global scope:
/usr/include/bits/sigthread.h:32: error: expected ',' or '...' before 
'*' token
/usr/include/c++/4.0.2/cwchar:151: error: '::fwide' has not been declared
/usr/include/c++/4.0.2/cwchar:158: error: '::mbsinit' has not been declared
[ ... a lot more errors ... ]


If I ommit -mno-cygwin and set "-I/usr/include/wine/msvcrt" , i get the 
same results lioke with -mno-cygwin.

Where is the Problem? How can i compile this file?

johannes Holzer









More information about the wine-devel mailing list