firemonkey iOS Error _BASS_ChannelGetData

Started by GioQveladze, 15 Apr '20 - 08:36

GioQveladze

of firemonkey iOS at compile time I get an error
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

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

#2

this is how it looks to me, is it visible here that it is loaded or does it still need to be downloaded?
{$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, но если я делаю так:
{$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

Ian @ un4seen

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

thanks for your reply.
The problem is solved:
Uses
Macapi.VecLib....

Quick Reply

Warning: this topic has not been posted in for at least 365 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name:
Email:
Shortcuts: ALT+S post or ALT+P preview