wow, it just hit me... if you just rename the folder to timbreIDlib, that inconvenience I mentioned is gone... no need for slash declarations! Though I think the other option is more elegant :)
Em sáb, 3 de ago de 2019 às 10:09, William Brent william.brent@gmail.com escreveu:
Thanks for all the thorough replies! I'll try working this in for the next update.
On Fri, Aug 2, 2019, 12:30 PM Christof Ressi christof.ressi@gmx.at wrote:
right, so William could declare only "setup" with __attribute__((visibility("default"))) and in your makefile:
ifeq ($(make-lib-executable),yes) ldflags := -fvisibility=hidden endif
Note that this doesn't work on Windows because MinGW ignores visibility attributes. But there's a solution:
On MinGW, GCC exports all non-static symbols unless at least one symbol is declared with __declspec(dllexport).
For Windows, simply declare the library's "setup" function with __declspec(dllexport). "make-lib-executable=yes" -> only the "setup" function is exported. "make-lib-executable=no" -> the file containing the "setup" function won't be compiled, so all other non-static symbols are exported (as usual).
Christof
Gesendet: Freitag, 02. August 2019 um 17:34 Uhr Von: "katja" katjavetter@gmail.com An: Pd-List pd-list@lists.iem.at Betreff: Re: [PD] [PD-announce] timbreID 0.8.1
On 8/2/19, Christof Ressi christof.ressi@gmx.at wrote:
ah, for this to work you'd have to make sure that "timbreID_setup" is
not
exported... pd-lib-builder exports all non-static functions by
default...
... because gcc exports all non-static functions by default. No need to hack Makefile.pdlibbuilder, a library makefile can overrule the default with:
ldflags := -fvisibility=hidden
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management ->
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list