Audio4Linux / JDSP4Linux

An audio effect processor for PipeWire and PulseAudio clients
GNU General Public License v3.0
874 stars 31 forks source link

Fails to compile on GCC 14 #184

Closed theAeon closed 3 months ago

theAeon commented 5 months ago

Looks like incompatible pointer types are now considered an error. Fedora Wiki

make[1]: Leaving directory '/builddir/build/BUILD/JDSP4Linux-2.7.0/libjamesdsp'
subtree/Main/libjamesdsp/jni/jamesdsp/jdsp/Effects/crossfeed.c: In function ‘CrossfeedEnable’:
subtree/Main/libjamesdsp/jni/jamesdsp/jdsp/Effects/crossfeed.c:65:45: error: assignment to ‘void (*)(struct dspsys *, size_t)’ {aka ‘void (*)(struct dspsys *, long unsigned int)’} from incompatible pointer type ‘void (*)(JamesDSPLib *, size_t)’ {aka ‘void (*)(struct dspsys *, long unsigned int)’} [-Wincompatible-pointer-types]
   65 |                         jdsp->advXF.process = CrossfeedProcessFFTConvolver2x4x2;
      |                                             ^
subtree/Main/libjamesdsp/jni/jamesdsp/jdsp/Effects/crossfeed.c:73:45: error: assignment to ‘void (*)(struct dspsys *, size_t)’ {aka ‘void (*)(struct dspsys *, long unsigned int)’} from incompatible pointer type ‘void (*)(JamesDSPLib *, size_t)’ {aka ‘void (*)(struct dspsys *, long unsigned int)’} [-Wincompatible-pointer-types]
   73 |                         jdsp->advXF.process = CrossfeedProcessTwoStageFFTConvolver2x4x2;
      |                                             ^
subtree/Main/libjamesdsp/jni/jamesdsp/jdsp/Effects/crossfeed.c: In function ‘CrossfeedProcess’:
subtree/Main/libjamesdsp/jni/jamesdsp/jdsp/Effects/crossfeed.c:124:37: error: passing argument 1 of ‘jdsp->advXF.process’ from incompatible pointer type [-Wincompatible-pointer-types]
  124 |                 jdsp->advXF.process(jdsp, (unsigned int)n);
      |                                     ^~~~
      |                                     |
      |                                     JamesDSPLib * {aka struct dspsys *}
subtree/Main/libjamesdsp/jni/jamesdsp/jdsp/Effects/crossfeed.c:124:37: note: expected ‘struct dspsys *’ but argument is of type ‘JamesDSPLib *’ {aka ‘struct dspsys *’}
make[1]: *** [Makefile:720: crossfeed.o] Error 1