[Win32utils-devel] Compilation errors

Park Heesob phasis at nownuri.net
Sun Feb 27 08:13:37 EST 2005


Hi,
----- Original Message ----- 
From: "Shashank Date" <sdate at everestkc.net>
To: "Development and ideas for win32utils projects" <win32utils-devel at rubyforge.org>
Sent: Sunday, February 27, 2005 4:14 PM
Subject: [Win32utils-devel] Compilation errors


> Dan, Park,
> 
> I am working on building the one-click installer for win32-utils and am 
> using the free Microsoft Visual C++ Toolkit 2003 to compile it. All 
> components compile fine except these two: win32-pipe, win32-taskscheduler
> 
> Any ideas of what could be wrong with my process?
> 
> Thanks,
> -- shanko
> 
> win32-pipe:
> -------------------------
> 
> creating Makefile
>  cl -nologo -MD -Zi -O2b2xg- -G5 -I. 
> -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -Ic:/ruby/lib/ruby/1.8/i386-mswin32 
> -I.  -I. -I./.. -I./../missing -c -Tcpipe.c
> pipe.c
>  cl -nologo -LD -Fepipe.so pipe.obj msvcrt-ruby18.lib  oldnames.lib 
> user32.lib advapi32.lib wsock32.lib  -link -incremental:no -debug 
> -opt:ref -opt:icf -dll -libpath:"c:/ruby/lib" -def:pipe-i386-mswin32.def
>   Creating library pipe.lib and object pipe.exp
> pipe.obj : error LNK2019: unresolved external symbol __ftol2 referenced 
> in function _pipe_wait
> pipe.so : fatal error LNK1120: 1 unresolved externals
> 
> win32-taskscheduler:
> -------------------------
> 
> creating Makefile
>  cl -nologo -MD -Zi -O2b2xg- -G5 -I. 
> -Ic:/ruby/lib/ruby/1.8/i386-mswin32 -Ic:/ruby/lib/ruby/1.8/i386-mswin32 
> -I.  -I. -I./.. -I./../missing -c -Tptaskscheduler.c
> taskscheduler.c
> c:\win32utils\win32-taskscheduler\taskscheduler.h(51) : error C2668: 
> 'log' : ambiguous call to overloaded function
>        C:\Program Files\Microsoft Visual C++ Toolkit 
> 2003\include\math.h(612): could be 'long double log(long double)'
>        C:\Program Files\Microsoft Visual C++ Toolkit 
> 2003\include\math.h(564): or       'float log(float)'
>        C:\Program Files\Microsoft Visual C++ Toolkit 
> 2003\include\math.h(193): or       'double log(double)'
>        while trying to match the argument list '(DWORD)'
> c:\win32utils\win32-taskscheduler\taskscheduler.h(51) : error C2668: 
> 'log' : ambiguous call to overloaded function
>        C:\Program Files\Microsoft Visual C++ Toolkit 
> 2003\include\math.h(612): could be 'long double log(long double)'
>        C:\Program Files\Microsoft Visual C++ Toolkit 
> 2003\include\math.h(564): or       'float log(float)'
>        C:\Program Files\Microsoft Visual C++ Toolkit 
> 2003\include\math.h(193): or       'double log(double)'
>        while trying to match the argument list '(int)'
> 
> 
I have no idea on the first win32-pipe error.
In my platform, it compiles fine.

You can fix the second win32-taskscheduler error by
replacing taskscheduler.h line 51
 return ((log(day)/log(2))+1);
with
 return ((log((double)day)/log((double)2))+1);

Regards,
Park Heesob.



More information about the win32utils-devel mailing list