snn.lib , setmode and linker errors
Charlie
charlie.fats at gmail.com
Wed Mar 21 09:54:11 PDT 2007
Many thanks!
Derek Parnell wrote:
> On Tue, 20 Mar 2007 19:53:28 -0500, 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
>
> Move the 'extern(C)' declaration out of the main() function.
>
> import std.c.stdio;
> version ( Windows ) extern ( C ) int setmode(int,int);
>
> void main ()
> {
> version ( Windows )
> {
> int O_BINARY = 0x8000;
> setmode(stdin._file ,O_BINARY);
> }
> }
More information about the Digitalmars-d-learn
mailing list