win32 native build

View: New views
7 Messages — Rating Filter:   Alert me  

win32 native build

by Bart Vanherck-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello all,

I march 2008 there were some mailings about letting ORBit work with MS  
compilers. What is the current state on this? Is there something that
still needs to be done ?

I want to port some existing code to work on win32. I already downloaded
the ORBit2-dev_2.4.16-1_win32.zip from the gnome ftp site, but there
were no lib files included.

kind regards,

Bart
_______________________________________________
orbit-list mailing list
orbit-list@...
http://mail.gnome.org/mailman/listinfo/orbit-list

Re: win32 native build

by Tor Lillqvist :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> I already downloaded the
> ORBit2-dev_2.4.16-1_win32.zip from the gnome ftp site, but there were no lib
> files included.

You can produce one for instance like this:

download http://tml.pp.fi/pexports-0.44.zip, unpack, put pexports.exe
somewhere in %PATH% . pexports also comes with mingw.
cd foo\lib
pexports ..\bin\libORBit-2-0.dll >ORBit-2.def
lib -def:ORBit-2.def -machine:x86 -out:ORBit-2.lib

where lib is lib.exe that comes with MSVC.

You can also use link -dump -exports instead of pexports, but then you
will have to edit the output file into .def syntax, and the exported
variables won't be marked with the DATA keyword, which probably is
very relevant for the produced import library to be useful with MSVC.

Note that I have never used ORBit2 with MSVC-built code myself, I only
told above how to produce an MS import library.

--tml
_______________________________________________
orbit-list mailing list
orbit-list@...
http://mail.gnome.org/mailman/listinfo/orbit-list

Re: win32 native build

by Tor Lillqvist :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> download http://tml.pp.fi/pexports-0.44.zip, unpack, put pexports.exe
> somewhere in %PATH% .

I misremembered, that file contains pexports sources, no executable...
(and compiling it requires flex and bison (or lex and yacc)). So look
for pexports.exe from mingw instead.

--tml
_______________________________________________
orbit-list mailing list
orbit-list@...
http://mail.gnome.org/mailman/listinfo/orbit-list

Re: win32 native build

by Bart Vanherck-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Thank you.

It seems to work, at least for function calls. The data structures
remain still unresolved.

In the def file for example I see this:
TC_CORBA_short_struct DATA                
TC_CORBA_string_struct DATA              
TC_CORBA_unsigned_long_long_struct DATA  
TC_CORBA_unsigned_long_struct DATA        
TC_CORBA_unsigned_short_struct DATA      

My linkage gives unresolved for this (DATA) symbols. The solution was
that I just needed to remove "DATA" before building the lib file. But my
little test program links now.

kind regards,

Bart

Tor Lillqvist wrote:

>> I already downloaded the
>> ORBit2-dev_2.4.16-1_win32.zip from the gnome ftp site, but there were no lib
>> files included.
>>    
>
> You can produce one for instance like this:
>
> download http://tml.pp.fi/pexports-0.44.zip, unpack, put pexports.exe
> somewhere in %PATH% . pexports also comes with mingw.
> cd foo\lib
> pexports ..\bin\libORBit-2-0.dll >ORBit-2.def
> lib -def:ORBit-2.def -machine:x86 -out:ORBit-2.lib
>
> where lib is lib.exe that comes with MSVC.
>
> You can also use link -dump -exports instead of pexports, but then you
> will have to edit the output file into .def syntax, and the exported
> variables won't be marked with the DATA keyword, which probably is
> very relevant for the produced import library to be useful with MSVC.
>
> Note that I have never used ORBit2 with MSVC-built code myself, I only
> told above how to produce an MS import library.
>
> --tml
>
>  

_______________________________________________
orbit-list mailing list
orbit-list@...
http://mail.gnome.org/mailman/listinfo/orbit-list

Re: win32 native build

by Tor Lillqvist :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> It seems to work, at least for function calls. The data structures remain
> still unresolved.

I think that must be because the corresponding declarations in the
headers don't have the __declspec(dllimport) attributes. gcc can
manage without, MSVC can't.

> My linkage gives unresolved for this (DATA) symbols. The solution was that I
> just needed to remove "DATA" before building the lib file. But my little
> test program links now.

But it is probable that actual use of these variables without MSVC
knowing that they are actually imported from a DLL produces bogus
results or even crashes? Does the program actually work?

--tml
_______________________________________________
orbit-list mailing list
orbit-list@...
http://mail.gnome.org/mailman/listinfo/orbit-list

Re: win32 native build

by Bart Vanherck-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Tor Lillqvist wrote:

>> It seems to work, at least for function calls. The data structures remain
>> still unresolved.
>>    
>
> I think that must be because the corresponding declarations in the
> headers don't have the __declspec(dllimport) attributes. gcc can
> manage without, MSVC can't.
>
>  
>> My linkage gives unresolved for this (DATA) symbols. The solution was that I
>> just needed to remove "DATA" before building the lib file. But my little
>> test program links now.
>>    
>
> But it is probable that actual use of these variables without MSVC
> knowing that they are actually imported from a DLL produces bogus
> results or even crashes? Does the program actually work?
>
> --tml
>
>  
True, the simple hello world application crached when I runned them. I
know now that the solution is try to build the lib with MVC and patch it
to export the variables and functions and so on ...

Bart
_______________________________________________
orbit-list mailing list
orbit-list@...
http://mail.gnome.org/mailman/listinfo/orbit-list

Re: win32 native build

by Marcelo Vanzin :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Oct 21, 2008 at 11:35 PM, Bart Vanherck
<bvanherck@...> wrote:
> True, the simple hello world application crached when I runned them. I know
> now that the solution is try to build the lib with MVC and patch it to
> export the variables and functions and so on ...

If you want to play with that, you may want to take a look at
http://bugzilla.gnome.org/show_bug.cgi?id=537328. It's been a few
months since I touched that code, but it worked for me with MSVC.

(I have my own hacked together makefiles to compile orbit on Win32, I
could send them to you but they're not pretty.)

--
Marcelo Vanzin
mmvgroups@...
"Life's too short to drink cheap beer."
_______________________________________________
orbit-list mailing list
orbit-list@...
http://mail.gnome.org/mailman/listinfo/orbit-list