Hi Christof,
Hi Jan,
thanks for your thoughts!
There are no spaces in my path. I'm doing everything within a folder called C:/pd_externals. Also, I'm actually compiling for 32-bits, at least that's what I thought mingw32 is supposed to do... It's only the overall MSYS2 release that is 64bit.
Anyway, if there's anyone who has compiled simple externals for Windows using MINGW recently, please let me know and show me how you did it!
You might want to look on the MinGW compiler options as Makefile.pdlibbuilder uses them for Windows systems (https://github.com/pure-data/pd-lib-builder). A relative simple example that compiled only a few days before: https://github.com/electrickery/pd-maxlib
Fred Jan
Gesendet: Donnerstag, 07. April 2016 um 17:20 Uhr Von: "Fred Jan Kraan" fjkraan@xs4all.nl An: pd-list@lists.iem.at Betreff: Re: [PD] Externals built with MSYS2/MinGW won't load
Hi Christof,
I should add that I followed the steps given here:
https://lists.puredata.info/pipermail/pd-list/2007-06/051560.html
2007 is quite a long time ago. I have success with this description: http://puredata.info/docs/developer/WindowsMinGW, but this is 32-bits. Is there a special reason for compiling for 64-bits? I noticed 32-bits excutables works ok on a 64-bits Windows. And all externals at deken are 32-bits...
However, "-export_dynamic" gave me:
C:\msys64\mingw32\bin\ld.exe: warning: cannot find entry symbol xport_dynamic; defaulting to 10001000
trying "-E" and "--export-dynamic":
Some time ago the gmu compiler switched to '--export-dynamic' for this option.
C:\msys64\mingw32\bin\ld.exe: warning: --export-dynamic is not supported for PE targets, did you mean --export-all-symbols?
so I tried with "--export-all-symbols" and this worked for obj1.c and obj2.c. I can't, however, see why it doesn't work for obj3.c as the difference to obj2.c is rather marginal (adds an outlet and a state variable).
Any hints are greatly appreciated!
About the previous errors; make really dislikes spaces in paths. Try it with paths without spaces.
Greetings & success,
Fred Jan
Gesendet: Donnerstag, 07. April 2016 um 02:22 Uhr Von: "Christof Ressi" christof.ressi@gmx.at An: Pd-List pd-list@lists.iem.at Betreff: [PD] Externals built with MSYS2/MinGW won't load
Dear list,
I tried to compile the test externals in doc/6.externs on Windows 7 from the command line using MSYS2/MinGW. I put everything (source files, m_pd.h and pd.dll) in one folder for the sake of convenience.
I compile with $ gcc -c obj1.c -o obj1.o and link with $ ld --export-all-symbols -shared -o test-obj3.dll obj3.o pd.dll
compiling and linking works without any errors or warnings. test-obj1 and test-obj2 seem to load and work fine in Pd, but for test-obj3 Pd console tells me:
"C:\Program Files (x86)\pd vanilla\extra\stuff\test-obj3.dll: couldn't load"
The same thing happens when I try to build test-obj4, test-obj5 and test-dspobj~. What could be the problem? I took the source files as they were and built all objects the exact same way...
Many thanks in advance!
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list