Juce library vs amalgamated


#1

I’ve been getting these intermittent linker errors lately:

Undefined symbols:
  "_NSURLIsHiddenKey", referenced from:
      _NSURLIsHiddenKey$non_lazy_ptr in libjuce.a(juce_mac_NativeCode.o)
     (maybe you meant: _NSURLIsHiddenKey$non_lazy_ptr)
  "_pthread_setname_np", referenced from:
      juce::Thread::setCurrentThreadName(juce::String const&)in libjuce.a(juce_mac_NativeCode.o)
  "_fopen$UNIX2003", referenced from:
      OggVorbisNamespace::_analysis_output_always(char const*, int, float*, int, int, int, long long)in libjuce.a(juce_OggVorbisAudioFormat.o)
ld: symbol(s) not found
collect2: ld returned 1 exit status

they go away if I include the amalgamated instead of linking to a library. Still investigating - I recompiled and got them to go away for a bit but now it’s back. Might be particularly on plugins and not standalones too … not sure, will post here.

In the meantime - thought it might make more sense to someone else. Let me know if it rings any bells or you have had these issues before.


#2

Are you using the same Target OS and Base SDK for the libary and your project?


#3

Yup, my thoughts exactly. I thought I had them compiling with the same settings, but apparently not. Putting it here just for reference:

It looks I compiled the juce libs with base 10.6 and the project using 10.5. None of the errors show up for standalone apps, so I hadn’t realized the mismatch. When trying to compile a plugin however, the three errors above appear.