From: Eduardo M. A. M.Mendes on 27 Jul 2010 07:54 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(a)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
From: Patrick Scheibe on 28 Jul 2010 02:51 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(a)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 > >
From: Patrick Scheibe on 28 Jul 2010 02:53 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(a)trm.uni-leipzig.de] > Sent: Tuesday, July 27, 2010 10:17 AM > To: Eduardo M. A. M.Mendes > Cc: mathgroup(a)smc.vnet.net > Subject: Re: 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(a)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 > > > > > >
From: Eduardo M. A. M.Mendes on 28 Jul 2010 02:53 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(a)trm.uni-leipzig.de] Sent: Tuesday, July 27, 2010 7:58 PM To: Eduardo M. A. M.Mendes Cc: mathgroup(a)smc.vnet.net Subject: RE: 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(a)trm.uni-leipzig.de] > Sent: Tuesday, July 27, 2010 10:17 AM > To: Eduardo M. A. M.Mendes > Cc: mathgroup(a)smc.vnet.net > Subject: Re: 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(a)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 > > > > > >
From: Eduardo M. A. M.Mendes on 28 Jul 2010 02:53 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(a)trm.uni-leipzig.de] Sent: Tuesday, July 27, 2010 10:17 AM To: Eduardo M. A. M.Mendes Cc: mathgroup(a)smc.vnet.net Subject: Re: 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(a)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 > >
|
Next
|
Last
Pages: 1 2 Prev: SetAttributes for entire package Next: Wire Frame Surface_Rainbow Colored |