buffer_ref_getbuffer and buffer_ref_getexists undefined for architecture...


    Sep 01 2013 | 11:26 am
    hello,
    I get the following linker error when I try to compile my project:
    Undefined symbols for architecture i386: "_buffer_ref_getbuffer"... "_buffer_ref_getexists"
    Valid architectures is set to "i386 x86_64" and when I remove i386 I get the same error except it's undefined for x86_64. Note that all my other calls in the Buffer SDK are fine, it's only these two functions that the linker can't find.
    I saw in one other post that another use had the same problem with buffer_ref_getexists() (which incidentally is not used in the simpwave~ example project) and claims to have fixed it, but he doesn't say how.
    thanks for any help you can provide!
    best,
    Joe

    • Sep 01 2013 | 11:48 am
      also, I know that accessing a buffer directly is deprecated, but I need to change the contents of a buffer. can I do this by simply writing over the samples I get when when I lock the buffer? it would also be good to be able to reallocate this memory if I want to change the length of the buffer or the number of channels...
      thanks a lot!
      Joe
    • Sep 01 2013 | 7:41 pm
      hm, something stupid, did you try to set architectures as "i386" not "i386 x86_64" ?
    • Sep 01 2013 | 8:01 pm
      I didn't try that because the first error was "undefined for i386", but I just tried it now, and it doesn't fix the problem. thank you for the suggestion though.
    • Sep 09 2013 | 3:23 pm
      I have just looked into this and it appears you have found a bug in the SDK. We'll try to get that sorted out, but in the meantime...
      The names of the two functions as exported by the MaxAudioAPI.framework are "buffer_ref_getobject" and "buffer_ref_exists".
      Sorry for the hassle!