MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Problems compiling addrow with gcc-mingw (windows).

  • To: mathgroup at smc.vnet.net
  • Subject: [mg111354] Re: Problems compiling addrow with gcc-mingw (windows).
  • From: Patrick Scheibe <pscheibe at trm.uni-leipzig.de>
  • Date: Wed, 28 Jul 2010 07:25:48 -0400 (EDT)

Hi,

now you have a MathLink program. You could use it either by:

- starting it as you did. the window pops up, asking you for a name for
your link. My favorite one is "blub". So type in a name and klick ok.

- go in a Mathematia-notebook and call

lnk=Install[LinkConnect["blub"]]

and you get a LinkObject. You can look what  functions are provided by
the link with

LinkPatterns[lnk]

you should now be able to call

AddTwo[1,2]

and to uninstall the link with

Uninstall[lnk]

The other possibility (which you should use when your program is bugfree
and finished) is to Install the link directly with

lnk=Install["full\path\to\link\addtwo.exe"]

Thats it. Please check in the documentation-center the doc for

Install
Uninstall
LinkConnect

Cheers
Patrick



On Tue, 2010-07-27 at 22:03 -0300, Eduardo M. A. M.Mendes wrote:
> Hi there
> 
> -mwindows did the trick.   Running addtwo.exe resulted in a pop-up window
> which asks me for a link (I have no idea what to do with it!).
> 
> Many Many thanks. 
> 
> I will try to run some examples and then back to fortran.
> 
> Cheers
> 
> Ed
> 
> 
> -----Original Message-----
> From: Patrick Scheibe [mailto:pscheibe at trm.uni-leipzig.de] 
> Sent: Tuesday, July 27, 2010 7:58 PM
> To: Eduardo M. A. M.Mendes
> Cc: mathgroup at smc.vnet.net
> Subject: RE: [mg111326] Problems compiling addrow with gcc-mingw (windows).
> 
> Hi,
> 
> I don't know from here what exactly is required for compiling under
> cygwin but you maybe have the wrong subsystem defined. Does your
> main-function in the addtwo.tm look like that:
> 
> int __stdcall WinMain( HINSTANCE hinstCurrent, HINSTANCE hinstPrevious,
> LPSTR lpszCmdLine, int nCmdShow)
> {
> 	char  buff[512];
> 	char FAR * buff_start = buff;
> 	char FAR * argv[32];
> 	char FAR * FAR * argv_end = argv + 32;
> 
> 	if( !MLInitializeIcon( hinstCurrent, nCmdShow)) return 1;
> 	MLScanString( argv, &argv_end, &lpszCmdLine, &buff_start);
> 	return MLMain( argv_end - argv, argv);
> }
> 
> Then you maybe need to set -mwindows or -mwin32 or you substitute 
> 
> int main(int argc; char* argv[])
> {
> 	return MLMain(argc, argv);
> }
> 
> as main function and create a console application.
> I'm not sure if this really is the problem but you could additionally
> read this here
> 
> http://forums.wolfram.com/mathgroup/archive/2007/Jun/msg01337.html
> http://forums.wolfram.com/mathgroup/archive/2010/May/msg00452.html
> 
> Cheers
> Patrick
> 
> 
> On Tue, 2010-07-27 at 10:52 -0300, Eduardo M. A. M.Mendes wrote:
> > Hi again
> > 
> > Thanks for the patience.
> > 
> > I don't know if I got what you meant so I tied the following commands
> > 
> > a) mprep addtwo.tm -o addtwotm.c  (page 48 of MathLink Development in C)
> > b) then I try
> > 
> > C:\msys\1.0\home\eduardo\MATHLI~1\addtwo>g++
> > -Ic:/msys/1.0/home/eduardo/include
> > addtwotm.c -o addtwo.exe -Lc:/msys/1.0/home/eduardo/lib -lML32i3 -lML32i2
> > -lML3
> > i1
> > C:\Users\eduardo\AppData\Local\Temp\ccelsS8E.o:addtwotm.c:(.text+0x15b):
> > undefi
> > ed reference to `GetStockObject@4'
> > collect2: ld returned 1 exit status
> > 
> > c) and 
> > 
> > C:\msys\1.0\home\eduardo\MATHLI~1\addtwo>g++
> > -Ic:/msys/1.0/home/eduardo/include
> > addtwo.c -o addtwo.exe -Lc:/msys/1.0/home/eduardo/lib -lML32i3 -lML32i2
> > -lML32i
> > 
> > C:\Users\eduardo\AppData\Local\Temp\cc2EukU7.o:addtwo.c:(.text+0x3a):
> > undefined
> > reference to `MLInitializeIcon'
> > C:\Users\eduardo\AppData\Local\Temp\cc2EukU7.o:addtwo.c:(.text+0x96):
> > undefined
> > reference to `MLMain'
> > collect2: ld returned 1 exit status
> > 
> > 
> > Which one is the right one?  The Documentation is too convoluted and there
> > is no help with cygwin.
> > 
> > Many thanks
> > 
> > Ed
> > 
> > 
> > -----Original Message-----
> > From: Patrick Scheibe [mailto:pscheibe at trm.uni-leipzig.de] 
> > Sent: Tuesday, July 27, 2010 10:17 AM
> > To: Eduardo M. A. M.Mendes
> > Cc: mathgroup at smc.vnet.net
> > Subject: Re: [mg111326] Problems compiling addrow with gcc-mingw
> (windows).
> > 
> > Hi,
> > 
> > why are you giving
> > 
> > > addtwo.c addtwotm.c
> > 
> > 
> > both files? You mprep addtwo.tm into addtwo.c and
> > then use only addtwo.c to compile. This should kill the
> > multiple references error message.
> > 
> > Cheers
> > Patrick
> > 
> > Am Jul 27, 2010 um 1:53 PM schrieb Eduardo M. A. M.Mendes:
> > 
> > > Hello
> > >
> > >
> > >
> > > I am trying to get addwo.exe using gcc (or g++) that comes with  
> > > mingw.  I
> > > have all libs and includes from cygwin that come with Mathematica  
> > > (Mathlink)
> > > installed in a different dir structure but unfortunately I got the  
> > > following
> > > error
> > >
> > >
> > >
> > >
> > >
> > > C:\msys\1.0\home\eduardo\MATHLI~1\addtwo>g++
> > > -Ic:/msys/1.0/home/eduardo/include
> > >
> > > addtwo.c addtwotm.c -o addtwo.exe -Lc:/msys/1.0/home/eduardo/lib - 
> > > lML32i3
> > >
> > > C:\Users\eduardo\AppData\Local\Temp\ccYUOj6v.o:addtwotm.c:(.text 
> > > +0x285):
> > > multip
> > >
> > > e definition of `addtwo(int, int)'
> > >
> > > C:\Users\eduardo\AppData\Local\Temp\ccNPhnOo.o:addtwo.c:(.text+0x0):  
> > > first
> > > defi
> > >
> > > ed here
> > >
> > > C:\Users\eduardo\AppData\Local\Temp\ccYUOj6v.o:addtwotm.c:(.text 
> > > +0x293):
> > > multip
> > >
> > > e definition of `WinMain@16'
> > >
> > > C:\Users\eduardo\AppData\Local\Temp\ccNPhnOo.o:addtwo.c:(.text+0xe):  
> > > first
> > > defi
> > >
> > > ed here
> > >
> > > C:\Users\eduardo\AppData\Local\Temp\ccYUOj6v.o:addtwotm.c:(.text 
> > > +0x15b):
> > > undefi
> > >
> > > ed reference to `GetStockObject@4'
> > >
> > > collect2: ld returned 1 exit status
> > >
> > >
> > >
> > > Does anyone know what to sort this out?
> > >
> > >
> > >
> > > Many thanks
> > >
> > >
> > >
> > > Ed
> > >
> > >
> > 
> > 
> 
> 



  • Prev by Date: Re: Substiuting variables within an integral
  • Next by Date: Dynamic programming and Manipulate
  • Previous by thread: Re: Problems compiling addrow with gcc-mingw (windows).
  • Next by thread: Re: Problems compiling addrow with gcc-mingw (windows).