Author Topic: firemonkey iOS Error _BASS_ChannelGetData  (Read 1390 times)

GioQveladze

  • Posts: 24
firemonkey iOS Error _BASS_ChannelGetData
« on: 15 Apr '20 - 08:36 »
of firemonkey iOS at compile time I get an error
Code: [Select]
Error: "_vDSP_fft_zip", referenced from:      _BASS_ChannelGetData in libbass.a(libbass.a-arm64-master.o);
Error: "_vDSP_create_fftsetup", referenced from:      _BASS_ChannelGetData in libbass.a(libbass.a-arm64-master.o);
ld: symbol(s) not found for architecture arm64
in the framework Accelerate included
Delphi Rio 10.3.3

how to fix?
thank you

Ian @ un4seen

  • Administrator
  • Posts: 26262
Re: firemonkey iOS Error _BASS_ChannelGetData
« Reply #1 on: 15 Apr '20 - 15:27 »
Including the Accelerate framework in your app's project should fix that. Are you sure it is already included, eg. can you call functions from it directly in your app?

GioQveladze

  • Posts: 24
Re: firemonkey iOS Error _BASS_ChannelGetData
« Reply #2 on: 15 Apr '20 - 20:34 »

this is how it looks to me, is it visible here that it is loaded or does it still need to be downloaded?
Code: [Select]
{$O-}
  function BASS_Init(device: LongInt; freq: DWORD; flags: DWORD; win: Pointer; clsid: Pointer) : BOOL; cdecl; external 'libbass.a' name 'BASS_Init';
  function BASS_RecordInit(device: LongInt): BOOL; cdecl; external 'libbass.a' name 'BASS_RecordInit';
  function BASS_SetConfig(option, value: Cardinal): BOOL; cdecl; external 'libbass.a' name 'BASS_SetConfig';
  function BASS_ChannelSetDevice(handle, device: Cardinal): BOOL; cdecl; external 'libbass.a' name 'BASS_ChannelSetDevice';
  function BASS_SetDevice(device: Cardinal): BOOL; cdecl; external 'libbass.a' name 'BASS_SetDevice';
  function BASS_ErrorGetCode(): LongInt; cdecl; external 'libbass.a' name 'BASS_ErrorGetCode';
  function BASS_Start(): BOOL; cdecl; external 'libbass.a' name 'BASS_Start';
  function BASS_RecordStart(freq, chans, flags: Cardinal; proc: RECORDPROC; user: Pointer): HRECORD; cdecl; external 'libbass.a' name 'BASS_RecordStart';
  function BASS_ChannelGetData(handle: Cardinal; buffer: Pointer; length: Cardinal): Cardinal; cdecl; external 'libbass.a' name 'BASS_ChannelGetData';
  function BASS_GetConfig(option: Cardinal): Cardinal; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF}; external 'libbass.a' name 'BASS_GetConfig';
  function BASS_SetConfigPtr(option: Cardinal; value: Pointer): BOOL; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF}; external 'libbass.a' name 'BASS_SetConfigPtr';
  function BASS_GetConfigPtr(option: Cardinal): Pointer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF}; external 'libbass.a' name 'BASS_GetConfigPtr';

  function BASS_StreamPutData(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; cdecl; external 'libbass.a' name 'BASS_StreamPutData';
  function BASS_StreamFree(handle: HSTREAM): BOOL; cdecl;  external 'libbass.a' name 'BASS_StreamFree';
  function BASS_StreamCreate(freq: DWORD; chans: DWORD; flags: DWORD; proc: Pointer; user: Pointer): HSTREAM;  cdecl;  external 'libbass.a' name 'BASS_StreamCreate';
  function BASS_StreamCreateFile(mem: BOOL; f: Pointer; offset, length: QWORD; flags: Cardinal): HSTREAM; cdecl; external 'libbass.a' name 'BASS_StreamCreateFile';
  function BASS_StreamCreateURL(url: Pointer; offset: Cardinal; flags: Cardinal; proc: DOWNLOADPROC; user: Pointer):HSTREAM; cdecl; external 'libbass.a' name 'BASS_StreamCreateURL';
  function BASS_ChannelPlay(handle: HSTREAM; restart: BOOL): BOOL; cdecl;  external 'libbass.a' name 'BASS_ChannelPlay';
  function BASS_ChannelStop(handle: DWORD): BOOL; cdecl; external 'libbass.a' name 'BASS_ChannelStop';
{$O+}
so i call and does not compile, it gives this error about which I wrote to the top, но если я делаю так:
Code: [Select]
{$O-}
  function BASS_Init(device: LongInt; freq: DWORD; flags: DWORD; win: Pointer; clsid: Pointer) : BOOL; cdecl; external 'libbass.a' name 'BASS_Init';
  function BASS_RecordInit(device: LongInt): BOOL; cdecl; external 'libbass.a' name 'BASS_RecordInit';
  function BASS_SetConfig(option, value: Cardinal): BOOL; cdecl; external 'libbass.a' name 'BASS_SetConfig';
  function BASS_ChannelSetDevice(handle, device: Cardinal): BOOL; cdecl; external 'libbass.a' name 'BASS_ChannelSetDevice';
  function BASS_SetDevice(device: Cardinal): BOOL; cdecl; external 'libbass.a' name 'BASS_SetDevice';
  function BASS_ErrorGetCode(): LongInt; cdecl; external 'libbass.a' name 'BASS_ErrorGetCode';
  function BASS_Start(): BOOL; cdecl; external 'libbass.a' name 'BASS_Start';
  function BASS_RecordStart(freq, chans, flags: Cardinal; proc: RECORDPROC; user: Pointer): HRECORD; cdecl; external 'libbass.a' name 'BASS_RecordStart';
//  function BASS_ChannelGetData(handle: Cardinal; buffer: Pointer; length: Cardinal): Cardinal; cdecl; external 'libbass.a' name 'BASS_ChannelGetData';
  function BASS_GetConfig(option: Cardinal): Cardinal; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF}; external 'libbass.a' name 'BASS_GetConfig';
  function BASS_SetConfigPtr(option: Cardinal; value: Pointer): BOOL; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF}; external 'libbass.a' name 'BASS_SetConfigPtr';
  function BASS_GetConfigPtr(option: Cardinal): Pointer; {$IFDEF MSWINDOWS}stdcall{$ELSE}cdecl{$ENDIF}; external 'libbass.a' name 'BASS_GetConfigPtr';

  function BASS_StreamPutData(handle: HSTREAM; buffer: Pointer; length: DWORD): DWORD; cdecl; external 'libbass.a' name 'BASS_StreamPutData';
  function BASS_StreamFree(handle: HSTREAM): BOOL; cdecl;  external 'libbass.a' name 'BASS_StreamFree';
  function BASS_StreamCreate(freq: DWORD; chans: DWORD; flags: DWORD; proc: Pointer; user: Pointer): HSTREAM;  cdecl;  external 'libbass.a' name 'BASS_StreamCreate';
  function BASS_StreamCreateFile(mem: BOOL; f: Pointer; offset, length: QWORD; flags: Cardinal): HSTREAM; cdecl; external 'libbass.a' name 'BASS_StreamCreateFile';
  function BASS_StreamCreateURL(url: Pointer; offset: Cardinal; flags: Cardinal; proc: DOWNLOADPROC; user: Pointer):HSTREAM; cdecl; external 'libbass.a' name 'BASS_StreamCreateURL';
  function BASS_ChannelPlay(handle: HSTREAM; restart: BOOL): BOOL; cdecl;  external 'libbass.a' name 'BASS_ChannelPlay';
  function BASS_ChannelStop(handle: DWORD): BOOL; cdecl; external 'libbass.a' name 'BASS_ChannelStop';
{$O+}
then compiles
« Last Edit: 15 Apr '20 - 20:43 by GioQveladze »

Ian @ un4seen

  • Administrator
  • Posts: 26262
Re: firemonkey iOS Error _BASS_ChannelGetData
« Reply #3 on: 16 Apr '20 - 14:57 »
I'm not a familiar with Firemonkey, but that screenshot looks like it may be showing what frameworks are available rather than the frameworks that are enabled for your app? Perhaps there is a project-specific area for that?

GioQveladze

  • Posts: 24
Re: firemonkey iOS Error _BASS_ChannelGetData
« Reply #4 on: 16 Apr '20 - 21:00 »
thanks for your reply.
The problem is solved:
Uses
Macapi.VecLib....