wxruby-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Wxruby-dev] Corrections for Windows build error


From: Kevin Smith
Subject: Re: [Wxruby-dev] Corrections for Windows build error
Date: 18 Jul 2003 07:59:27 -0700

On Fri, 2003-07-18 at 05:23, Park Heesob wrote:
> Current wxRuby  mswin32 version supports only DLL wxWindows version.
> You must build a DLL version of wxWindows.
> Choose one of these build configurations:
>    wxmsw24.lib  wxmsw24d.lib   ; ANSI DLL Release/Debug
>    wxmsw24u.lib wxmsw24ud.lib  ; UNICODE DLL Release/Debug
> Modify extconf.rb's $WXVERSION to one of these:
>    $WXVERSION = '24'
>    $WXVERSION = '24d'
>    $WXVERSION = '24u'
>    $WXVERSION = '24ud'

I think we can solve this by using the wx-config command. Under Linux,
we actually run this command at make-time, to figure out the specific
name of the library to link against:

    DLDFLAGS =  -L$(exec_prefix)/lib  `wx-config --libs`
-Wl,--version-script,./version-script 

Note the `wx-config --libs` thingy.

Under MSW, that won't work inside nmake. But we could run it as part of
extconf.rb, assuming wxWindows is configured before wxRuby. Since MinGW
seems to support the `` stuff, its extconf.rb section should be modified
to look more like the Linux version. You'll notice that we don't have to
specify the 24/241 under Linux, because wx-config already knows the
version.

I think the VC++ section of extconf.rb could look something like this:

elsif have_header("windows.h") and have_library("kernel32")
    $WXDIR=ENV['WXWIN']
#    $WXVERSION = '24'
    $WXSRC="#$WXDIR/src/msw"
    $WXINC="#$WXDIR/include"
    $INCTEMP="#$WXDIR/lib/mswdll"
#    $WXLIB="#$WXDIR/lib/wxmsw#$WXVERSION.lib"
    $CFLAGS += " -I#$WXINC -I#$INCTEMP #$WINFLAGS #$EXTRADLLFLAGS
-DSTRICT -DWIN32 -D__WIN32__ -D_WINDOWS -DWINVER=0x0400 /D__WIN95__
/D__WXMSW__ /DWXUSINGDLL=1 /D__WINDOWS__ -D__WXMSW__  "
#    $libs += " #$WXLIB"
    $libs += `wx-config --libs`
    $objs.push("wx.res")

end

Can you try it, Roy and Park?

Thanks much,

Kevin






reply via email to

[Prev in Thread] Current Thread [Next in Thread]