Ok, so my problem was that after adding and removing references to libraries a few times in my project, I had quite a mess in my Library Search Paths. Plus, I didn't add the new "include" folder (created when building tesseract) to the User Header Search Paths.
So, just a quick recap, in order to build tesseract-ocr using libc++, so it can work along with newer OpenCV versions:
- Download leptonica-1.69
- Download tesseract 3.02
- Arrange them in the folder structure explained in the original tutorial here
- Download this script to the same folder.
- Edit the script for your relevant IOS_BASE_SDK and IOS_DEPLOY_TGT.
- Edit CXX to use clang++: CXX="/usr/bin/clang++"
- Edit CXXFLAGS to use libc++ as the standard library: CXXFLAGS="$CFLAGS -stdlib=libc++"
- Use the script and build tesseract and leptonica.
- Add these libraries to your xcode project, change the "C++ Standard Library" setting to libc++.
- Make sure your "Library Search Paths" setting is not pointing to any old tesseract libs.
- Make sure your "User Header Search Paths" setting is pointing to the new "include" folder created when you built the new libs.
- Now, when you try building your project, you'll have a few missing header files. Just copy them from the old "include" folder from tesseract and leptonica.
That's it. At this point, you'll have a project capable of using both new OpenCV versions AND tesseract 3.02 together. If it's a new project, don't forget to edit your prefix file accordingly to include OpenCV and Tesseract in case of __cplusplus, and rename any .m file using them to .mm
Big thanks to to this answer, that got me well on my way.