Forum: Ruby Problems compiling Ruby extension in MSVC

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Sriyansa (Guest)
on 2006-01-25 04:19
(Received via mailing list)
I am trying to compile my ruby extension under Windows with the MSVC
compiler shipped with Visual Studio 2003. I have followed the steps
outlined here:

http://www.koontzfamily.org/david/blog/?p=230

However on doing nmake I get the following errors:

cl : Command line warning D4024 : unrecognized source file type
'files/ruby/lib/ruby/1.8/i386-mswin3
2', object file assumed
cl : Command line warning D4027 : source file
'files/ruby/lib/ruby/1.8/i386-mswin32' ignored
cl : Command line warning D4024 : unrecognized source file type
'files/ruby/lib/ruby/1.8/i386-mswin3
2', object file assumed
cl : Command line warning D4027 : source file
'files/ruby/lib/ruby/1.8/i386-mswin32' ignored
Test.c
Test.c(1) : fatal error C1083: Cannot open include file: 'ruby.h': No
such file or directory
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.

It seems that the compiler does not like spaces in the include path (My
ruby install directory is D:\Program files\ruby). Is there any better
way of getting extensions to work under windows?

The ruby.h file is present at D:/Program
files/ruby/lib/ruby/1.8/i386-mswin32.

thanks,
Sriyansa
unknown (Guest)
on 2006-01-25 05:55
(Received via mailing list)
> It seems that the compiler does not like spaces in
> the include path (My ruby install directory is
> D:\Program files\ruby).

Try wrapping the path in quotes for example:

  "D:\Program files\ruby"

Jussi Jumppanen
Author: Zeus for Windows Ruby IDE
http://www.zeusedit.com
Jon Egil S. (Guest)
on 2006-01-27 16:59
(Received via mailing list)
> It seems that the compiler does not like spaces in the include path (My
> ruby install directory is D:\Program files\ruby).

I too have spaces in my include path, and it works ok. I thought I had
to
surround the path with "-signs, but for the SET commands they created
trouble.

So I run:

ruby extconf.rb -with-ruby-include="C:\ruby\src\ruby-1.8.2;C:\Program
Files\Microsoft Visual Studio .NET 2003\Vc7\include;C:\Program
Files\Microsoft Platform SDK\Include;"

set INCLUDE=C:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\include;C:\Program Files\Microsoft Platform SDK\Include;
set LIB=C:\Program Files\Microsoft Visual Studio .NET
2003\Vc7\lib;C:\Program Files\Microsoft Platform SDK\Lib
This topic is locked and can not be replied to.