[PD] - need some assistance compiling an external for Windows

Scott R. Looney scottrlooney at gmail.com
Fri Jul 12 07:49:44 CEST 2019


just to clarify, the instructions i got from Oliver and Lucas seem to be
specifically oriented to build PD itself from source code which i'm not
doing. i'm building a plain external with no extra UI or graphics
requirement. i'm using pd-lib-builder as well. at the moment i seem to be
stuck. i did install the ASIO SDK, but not Tcl/tk because it doesn't seem
like it would be needed. i'm not sure ASIO is needed actually.

if i type ' ./autogen.sh i get ' bash ./autogen.sh No such file or
directory'

i am assuming this is because my sources are the sources of the external
code which doesn't have autogen in it, but rather uses Makefile and
Makefile.pdlibbuilder

so for that i type 'make all' and the process fails around line 923 of
Makefile.pdlibbuilder because it looks like it's trying to build a Linux .o
binary. as far as i can tell, which is weird to me. it spits out this just
before:

g++ -DPD -I "C:\Program Files/Pd/src" -DMSW -DNT -DPD_LONGINTTYPE=__int64
 -fcheck-new -DTEST -Wno-unused-local-typedefs -I./ -Wall -Wextra -Wshadow
-Winline -Wstrict-aliasing -O3 -ffast-math -funroll-loops
-fomit-frame-pointer -march=core2 -msse -msse2 -msse3 -mfpmath=sse -o
plts~.o -c plts~.cpp

just to test, i decided to ignore errors for the .o files. they were never
in the repo, but when i first ran 'make all' on the Mac it created a .o
file for every included class it needed and then finished with the
'pd_darwin' binary. the creator of the external used Xcode to make his
object originally so i don't know how he compiled it.

in this case on the Windows build i told it to ignore errors and the result
was that because it was unable to find the .o object files (since they were
skipped) it did not finish building the .DLL at the end of the process. so
all i can guess is the object files are required for some reason to build
the DLL but can be deleted afterwards? i still don't know what prevents the
.o files from being created in the first place. it's likely a simple path
issue, but i'm not sure.

more help needed - obviously...this is really complex to keep track of. i'm
really glad for the work that folks have done to try to streamline the
process but it's still a slog.

best,
scott



On Thu, Jul 11, 2019 at 9:34 PM Scott R. Looney <scottrlooney at gmail.com>
wrote:

> okay, one last question. since this is an external and the directions are
> for compiling PD itself from source do i absolutely need to have Tcl/tk
> included in an external object build? i'm not using any custom graphics on
> it or anything. was also wondering about the necessity of ASIO as well.
>
> On Thu, Jul 11, 2019 at 2:28 PM Lucas Cordiviola <lucarda27 at hotmail.com>
> wrote:
>
>> if you build a 32 bit external can this be used with the 64 bit version
>> of PD as well?
>>
>> Nope. They have to match.
>>
>> :)
>>
>> Mensaje telepatico asistido por maquinas.
>>
>> On 7/11/2019 6:13 PM, Scott R. Looney wrote:
>>
>> thanks very much Lucas and Oliver!! one question - if you build a 32 bit
>> external can this be used with the 64 bit version of PD as well? i ask this
>> because it seemed the 64 bit build was a bit more complicated.
>>
>> best,
>> scott
>>
>> On Thu, Jul 11, 2019 at 1:09 PM Lucas Cordiviola <lucarda27 at hotmail.com>
>> wrote:
>>
>>> Hi Scott,
>>>
>>> To add what Oliver said just in case:
>>>
>>> pd-lib-builder will auto-find "pd.dll" and the "src" folder if Pd was
>>> installed in its default location (the location that the Pd installer
>>> suggests). You can have both 32bit and 64bit Pds installed on the same
>>> machine.
>>>
>>> If you have Pd on a different location do:
>>>
>>>      make PDDIR=<path/to/your/Pd-folder>
>>> PDLIBDIR=<path/where-you-want/the-built-external> install
>>>
>>> To build an 32bit external open the MinGW32-shell.
>>>
>>> To build an 64bit external open the MinGW64-shell.
>>>
>>>
>>> :)
>>>
>>> Mensaje telepatico asistido por maquinas.
>>>
>>> On 7/11/2019 7:03 AM, oliver wrote:
>>> > hi, scott !
>>> >
>>> > just in case you don't know it yet:
>>> >
>>> > here's an info LUCARDA gave me some time ago about compiling on
>>> > windows, that worked great for me (= total compiling noob):
>>> >
>>> > ====================================================================
>>> >
>>> > First follow instructions to set up Msys2. You should install the 64bit
>>> > installer (this one will let you build 32 and 64 bit apps).
>>> >
>>> > https://www.msys2.org/
>>> >
>>> > https://github.com/msys2/msys2/wiki/MSYS2-installation
>>> >
>>> > Once the base Msys2 has been installed add with -pacman the packages
>>> > described here:
>>> >
>>> >
>>> https://github.com/pure-data/pure-data/blob/e3009daf1acfa1c46adc67416b89019d176a434d/INSTALL.txt#L274-L309
>>> >
>>> >
>>> > ====================================================================
>>> >
>>> >
>>> > best
>>> >
>>> > oliver
>>> >
>>> >
>>> >
>>> > _______________________________________________
>>> > Pd-list at lists.iem.at mailing list
>>> > UNSUBSCRIBE and account-management ->
>>> > https://lists.puredata.info/listinfo/pd-list
>>>
>>
>> _______________________________________________Pd-list at lists.iem.at mailing list
>> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20190711/e1667a2d/attachment-0001.html>


More information about the Pd-list mailing list