A Makefile created by winemake & configure adds /whereever/include/wine/windows to the include paths.
Why doesn't it also add /whereever/include/wine/msvcrt ? What is the status of the include files in msvcrt?
Ralf
Ralf Juengling juenglin@cse.ogi.edu writes:
Why doesn't it also add /whereever/include/wine/msvcrt ?
Because not everybody wants to use msvcrt. Unless you need some specific features of the Windows C run time, in a Winelib app you are better off using the standard Unix C library.
What is the status of the include files in msvcrt?
They should work just fine. Make sure you also import msvcrt if you use the headers.
Thanks.
On Thu, 2003-11-20 at 11:21, Alexandre Julliard wrote:
Ralf Juengling juenglin@cse.ogi.edu writes:
Why doesn't it also add /whereever/include/wine/msvcrt ?
Because not everybody wants to use msvcrt. Unless you need some specific features of the Windows C run time, in a Winelib app you are better off using the standard Unix C library.
Yes, I need for instance things defined in msvcrt/io.h and msvcrt/dos.h.
What is the status of the include files in msvcrt?
They should work just fine. Make sure you also import msvcrt if you use the headers.
... but I also need things defined in <math.h>. The file mscvrt/math.h coming with wine, however, is empty. So have to include things from the Windows C runtime library and the Unix C library. For some reason, the cpp picks wine's version of 'math.h' first even if '-I/usr/include' precedes '-I/local/include/wine/msvcrt' on the command line.
So my solution to make it compile was to remove wine's 'math.h'. That's why I would say the include files are incomplete. How do other people deal with a case like the one I described?
Ralf
Ralf Juengling juenglin@cse.ogi.edu writes:
So my solution to make it compile was to remove wine's 'math.h'. That's why I would say the include files are incomplete. How do other people deal with a case like the one I described?
By submitting a patch to add the missing definitions <g>
On Thu, 2003-11-20 at 11:21, Alexandre Julliard wrote:
Ralf Juengling juenglin@cse.ogi.edu writes:
Why doesn't it also add /whereever/include/wine/msvcrt ?
Because not everybody wants to use msvcrt. Unless you need some specific features of the Windows C run time, in a Winelib app you are better off using the standard Unix C library.
What is the status of the include files in msvcrt?
They should work just fine. Make sure you also import msvcrt if you use the headers.
This might be a bug:
'_atold' is defined msvcrt/stdlib.h but not found by the linker (neither with '-lmsvcrt' nor with '-lmsvcrt20').
Ralf
On Thu, 20 Nov 2003, Alexandre Julliard wrote:
Ralf Juengling juenglin@cse.ogi.edu writes:
Why doesn't it also add /whereever/include/wine/msvcrt ?
Because not everybody wants to use msvcrt. Unless you need some specific features of the Windows C run time, in a Winelib app you are better off using the standard Unix C library.
Actually, just recently I was thinking about making winemaker use msvcrt by default and add a --no-msvcrt option to disable that behavior.
The rationale is that on Windows most developpers use Visual C++, and Visual C++ uses msvcrt by default. And since one of the goals is to make it easy to migrate Visual C++ code to Winelib, generating makefiles that use msvcrt would make sense (it also why we link with advapi32, comdlg32, etc, this is the default set of libraries Visual C++ links with).