Linker errors when building for iPhone iPad Simulator


#1

Hi,

today i tried to build an empty project for iPhone/iPad Simulator.
I used Introjucer to generate the Xcode project by using newest juce.

When compiling for Simulator environrment, i get many errors like this:
Undefined symbols for architecture i386:
"_CTFontCreatePathForGlyph", referenced from:
juce::MacTypeface::getOutlineForGlyph(int, juce::Path&)in libjucedebug.a(juce_mac_NativeCode.o)
"_CTFontCreateWithName", referenced from:
juce::MacTypeface::MacTypeface(juce::Font const&)in libjucedebug.a(juce_mac_NativeCode.o)
"_CTFontCreateCopyWithSymbolicTraits", referenced from:
juce::MacTypeface::MacTypeface(juce::Font const&)in libjucedebug.a(juce_mac_NativeCode.o)
"_CTFontGetAscent", referenced from:
juce::MacTypeface::MacTypeface(juce::Font const&)in libjucedebug.a(juce_mac_NativeCode.o)
"_CTFontGetDescent", referenced from:

Am i missing something?
Should i try with older juce versions?


#2

In the meantime, i built the project with juce 1.52 and it compiles fine.

Only when starting the app in simulator, i get the following (but didn’t go any deeper into that, yet):

GNU gdb 6.3.50-20050815 (Apple version gdb-1518) (Sat Feb 12 02:52:12 UTC 2011)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type “show copying” to see the conditions.
There is absolutely no warranty for GDB. Type “show warranty” for details.
This GDB was configured as “x86_64-apple-darwin”.Attaching to process 14878.
JUCE v1.52.110
Detected an attempt to call a symbol in system libraries that is not present on the iPhone:
getrlimit$UNIX2003 called from function _ZN4juce11SystemStats15initialiseStatsEv in image jucetest1.
If you are encountering this problem running a simulator binary within gdb, make sure you ‘set start-with-shell off’ first.
sharedlibrary apply-load-rules all
Current language: auto; currently objective-c++
Warning: the current language does not match this frame.
(gdb)


#3

Did you use the latest version of the introjucer (i.e. built from the latest source code)? Those missing functions are in CoreText, and the latest version definitely adds that to the libraries list.


#4

Well, i didn’t build introducer by myself, i took the binary. (Sorry for that …)
I will try it with newest introducer…

Thanks for that faaaaaast answer…