snn.lib , setmode and linker errors

Charlie charlie.fats at gmail.com
Tue Mar 20 18:00:58 PDT 2007


The following C code works fine ( taken from digitalmars website 
http://www.digitalmars.com/rtl/io.html#_setmode ) :

#include <stdio.h>
#include <io.h>
#include <fcntl.h>

void main ()
{
    int result;
    result = _setmode(_fileno(stdin), _O_BINARY);
    if (result == -1)
       perror("Error setting mode");
    else
       printf("Printer successfully set to text mode\n");
}




Charlie wrote:
> Hi,
> 
> Im trying to write a CGI lib in D, and it requires stdin be put in 
> binaru mode for windows, which is done with setmode(), declared in io.h 
> and is in snn.lib.  Here is the code:
> 
> import std.c.stdio;
> 
> void main ()
> {
> 
>   version ( Windows )
>     {
>       int O_BINARY = 0x8000;
>       extern ( C ) int setmode(int,int);
>       setmode(stdin._file ,O_BINARY);
>     }
> 
> }
> 
> And the error:
> 
> stest.obj(stest)
>  Error 42: Symbol Undefined __D5stest4mainFZv7setmodeMUiiZi
> --- errorlevel 1
> 
> Im explictly linking to snn.lib ( is that needed ? ) , why is it still 
> undefined ?
> 
> Thanks,
> Charlie


More information about the Digitalmars-d-learn mailing list