Getting taglib running in XCode

Hello :slight_smile:
I am struggling to get the taglib framework running under XCode. Here are the steps i already managed:

  • downloaded taglib
  • compiled it as a framework using cmake and then XCode
  • copied to several locations:
    • Library/Frameworks
    • MyProject/Builds/MacOSX
    • in the Framework folder within the XCode App
  • added project-relative path in the following Projucers fields
    • Extra Custom Frameworks, i put “tag.framework” there
    • Embedded Frameworks, also just “tag.framework”
    • Framework Search Path, again just “tag.framework”
  • i set the flags for compiler and linker: “-F tag.framework”

With these steps having done, i get my Project to compile and run. But as soon as i try to include a header like “#include <tag.h>” the compiler tells me, it can’t find it. Of course: i haven’t added the header files yet. There are several options for adding the header search path, globally for the project and for each build. Where ever i put the path “tag.framework”, XCode won’t find it. I also tried the absolute path to the framework.

Can anybody tell me what i do wrong or point me in another direction? Aren’t the header files supposed within the framework?

I guess i read all articles in this forum and stack overflow about external libraries in JUCE/Xcode. It was very helpful for getting that far. But now i am stuck again. Thanks for your patience with a newbie on JUCE.

That’s not how it works. A “search path” is where the tool (compiler or build system) should search for the thing to find (tag.framework in your case). So in “Framework Search Paths”, you should put the path to the folder that contains tag.framework.

Now, there is a catch. If you’re using a relative path, it is based on the Xcode project generated by Projucer, not on the .jucer file. So, if you have the following folder structure:

/Users
└── <username>/
    └── code/
        ├── JUCE/
        └── MyProject/
            ├── Builds/
            │   └── MacOSX/
            │       └── MyProject.xcodeproj
            ├── Sources/
            ├── third-party/
            │   └── tag.framework
            └── MyProject.jucer

then you need to put ../../third-party in “Framework Search Paths”. You can also put the absolute path (i.e. /Users/<username>/code/MyProject/third-party).

I hope this helps!

Thank you very much. I understood that very well and I tried it all out. Unfortunatly i still could not get it to work. Then i was busy with other things and by now our team decided to solve the problem later or differently. We don’t want to use any thirdparty-libraries at all to be free of dependencies…
But actually it still bothers me personally, that i wasn’t able to solve the problem. It’s kind of a challenge :wink: As soon as i find time I’ll try to setup a minimalist example and get that to run…