No idea.

On 14-07-17 11:31 AM, Anita Hui wrote:
> Hi Behdad :)
> 
> So I built the two static libraries libharfbuzz.a and libicu-le-hb.a, and put 
> the two and their respective header files into my project, replacing 
> libicule.a and its header files like so:
> 
>     
> /Users/anitahui/Projects/main/Gladiator/uswish/samples/FocusAE/src/../../../thirdparty/prebuilt/ios/arch-arm/Debug/libicui18n.a
>          
>     
> /Users/anitahui/Projects/main/Gladiator/uswish/samples/FocusAE/src/../../../thirdparty/prebuilt/ios/arch-arm/Debug/libiculx.a
>  
>     
> /Users/anitahui/Projects/main/Gladiator/uswish/samples/FocusAE/src/../../../thirdparty/prebuilt/ios/arch-arm/Debug/libharfbuzz.a
>  
>     
> /Users/anitahui/Projects/main/Gladiator/uswish/samples/FocusAE/src/../../../thirdparty/prebuilt/ios/arch-arm/Debug/libicu-le-hb.a
>  
>     
> /Users/anitahui/Projects/main/Gladiator/uswish/samples/FocusAE/src/../../../thirdparty/prebuilt/ios/arch-arm/Debug/libicuuc.a
>  
>     
> /Users/anitahui/Projects/main/Gladiator/uswish/samples/FocusAE/src/../../../thirdparty/prebuilt/ios/arch-arm/Debug/libicudata.a
>  
> 
> And I'm getting the error below for amv7 as well as armv7s:
> 
> Undefined symbols for architecture armv7:
>   "icu_50::LayoutEngine::layoutEngineFactory(icu_50::LEFontInstance const*, 
> int, int, LEErrorCode&)", referenced from:
>       icu_50::ParagraphLayout::ParagraphLayout(unsigned short const*, int, 
> icu_50::FontRuns const*, icu_50::ValueRuns const*, icu_50::ValueRuns const*, 
> icu_50::LocaleRuns const*, unsigned char, signed char, LEErrorCode&) in 
> libiculx.a(ParagraphLayout.ao)
>   "icu_50::LayoutEngine::getGlyphs(unsigned int*, LEErrorCode&) const", 
> referenced from:
>       icu_50::ParagraphLayout::ParagraphLayout(unsigned short const*, int, 
> icu_50::FontRuns const*, icu_50::ValueRuns const*, icu_50::ValueRuns const*, 
> icu_50::LocaleRuns const*, unsigned char, signed char, LEErrorCode&) in 
> libiculx.a(ParagraphLayout.ao)
>   "icu_50::LayoutEngine::getGlyphPositions(float*, LEErrorCode&) const", 
> referenced from:
>       icu_50::ParagraphLayout::ParagraphLayout(unsigned short const*, int, 
> icu_50::FontRuns const*, icu_50::ValueRuns const*, icu_50::ValueRuns const*, 
> icu_50::LocaleRuns const*, unsigned char, signed char, LEErrorCode&) in 
> libiculx.a(ParagraphLayout.ao)
>   "vtable for icu_50::LEFontInstance", referenced from:
>       icu_50::LEFontInstance::LEFontInstance() in 
> libuswish.a(YiLEFontInstanceFT.o)
>   NOTE: a missing vtable usually means the first non-inline virtual member 
> function has no definition.
>   "icu_50::LEFontInstance::canDisplay(int) const", referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::mapCharToGlyph(int, icu_50::LECharMapper const*, 
> signed char) const", referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "typeinfo for icu_50::LEFontInstance", referenced from:
>       typeinfo for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::mapCharToGlyph(int, icu_50::LECharMapper const*) 
> const", referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::xUnitsToPoints(float) const", referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LayoutEngine::getCharIndices(int*, int, LEErrorCode&) const", 
> referenced from:
>       icu_50::ParagraphLayout::ParagraphLayout(unsigned short const*, int, 
> icu_50::FontRuns const*, icu_50::ValueRuns const*, icu_50::ValueRuns const*, 
> icu_50::LocaleRuns const*, unsigned char, signed char, LEErrorCode&) in 
> libiculx.a(ParagraphLayout.ao)
>   "icu_50::LEFontInstance::unitsToPoints(LEPoint&, LEPoint&) const", 
> referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::xPixelsToUnits(float) const", referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::pixelsToUnits(LEPoint&, LEPoint&) const", 
> referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::transformFunits(float, float, LEPoint&) const", 
> referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::yPixelsToUnits(float) const", referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::mapCharsToGlyphs(unsigned short const*, int, int, 
> signed char, icu_50::LECharMapper const*, signed char, 
> icu_50::LEGlyphStorage&) const", referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::getLineHeight() const", referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::yUnitsToPoints(float) const", referenced from:
>       vtable for CYILEFontInstanceFT in libuswish.a(YiLEFontInstanceFT.o)
>   "icu_50::LEFontInstance::~LEFontInstance()", referenced from:
>       CYILEFontInstanceFT::CYILEFontInstanceFT(CYITextRendererFT*, int) in 
> libuswish.a(YiLEFontInstanceFT.o)
>       CYILEFontInstanceFT::~CYILEFontInstanceFT() in 
> libuswish.a(YiLEFontInstanceFT.o)
> ld: symbol(s) not found for architecture armv7
> clang: error: linker command failed with exit code 1 (use -v to see 
> invocation)
> 
> Do you have any ideas as to what I'm doing wrong or any thing I may have 
> missed? 
> 
> Thanks!
> 
> ________________________________________
> From: Behdad Esfahbod <[email protected]> on behalf of Behdad 
> Esfahbod <[email protected]>
> Sent: Wednesday, July 16, 2014 3:02 PM
> To: Anita Hui; [email protected]
> Subject: Re: [HarfBuzz] Cross-compiling HarfBuzz for ios
> 
> D'oh.  Up to you whether you do static or dynamic linking, but icu-le-hb uses
> HarfBuzz, so yes, you need libharfbuzz one way or another.  If you want
> all-static, they you need libharfbuzz.a.
> 
> On 14-07-16 02:43 PM, Anita Hui wrote:
>> Oh, so do you mean that I would need to link the executable with 
>> libharfbuzz.a to use libicu-le-hb.a to replace libicule.a?
>>
>> Or that I need to have HarfBuzz on my system in order to build 
>> libicu-le-hb.a, which I can then use as a replacement for libicule.a without 
>> having to link the executable with libharfbuzz.a?
>>
>> ________________________________________
>> From: Behdad Esfahbod <[email protected]> on behalf of Behdad 
>> Esfahbod <[email protected]>
>> Sent: Wednesday, July 16, 2014 2:12 PM
>> To: Anita Hui; [email protected]
>> Subject: Re: [HarfBuzz] Cross-compiling HarfBuzz for ios
>>
>> On 14-07-16 02:11 PM, Anita Hui wrote:
>>> Just so I'm sure I understand, does this mean that libicu-le-hb.a is 
>>> standalone and can directly replace libicule.a without anything extra?
>>
>> Yes, as long as by "standalone" you mean "only needs harfbuzz". :)
>>
>>> Also thanks for responding so quickly :D
>>>
>>> ________________________________________
>>> From: Behdad Esfahbod <[email protected]> on behalf of Behdad 
>>> Esfahbod <[email protected]>
>>> Sent: Wednesday, July 16, 2014 12:47 PM
>>> To: Anita Hui; [email protected]
>>> Subject: Re: [HarfBuzz] Cross-compiling HarfBuzz for ios
>>>
>>> On 14-07-16 12:42 PM, Anita Hui wrote:
>>>> Hi Behdad,
>>>>
>>>> Thanks for your response! I have a general question about building static 
>>>> HarfBuzz libraries for replacing icu-LE. I noticed in the configure 
>>>> process when checking for tools, it checks for ICU. Does this mean that I 
>>>> need to have ICU in order to build libharfbuzz-icu.a? Please correct me if 
>>>> I'm wrong but I'm guessing that I need libharfbuzz-icu.a with 
>>>> libicu-le-hb.a in order to replace libicule.a.
>>>
>>> You don't need libharfbuzz-icu to use icu-le-hb.  Same way that ICU Layout
>>> doesn't actually depend on the rest of ICU. :)
>>>
>>> behdad
>>>
>>>> Again, thank you for replying! It's much appreciated :)
>>>>
>>>> Anita
>>>>
>>>> ________________________________________
>>>> From: Behdad Esfahbod <[email protected]> on behalf of Behdad 
>>>> Esfahbod <[email protected]>
>>>> Sent: Monday, July 14, 2014 4:46 PM
>>>> To: Anita Hui; [email protected]
>>>> Subject: Re: [HarfBuzz] Cross-compiling HarfBuzz for ios
>>>>
>>>> On 14-07-14 04:27 PM, Anita Hui wrote:
>>>>> Hi!
>>>>
>>>> Hi,
>>>>
>>>>
>>>>> I'm trying to cross compile HarfBuzz for iOS (ARMv7, ARMv7s, i386), and I 
>>>>> was
>>>>> wondering if I also needed to compile FreeType, Cairo, and GLib for the
>>>>> iOS architectures as well. I am working on an osx machine, and what led 
>>>>> me to
>>>>
>>>> No.
>>>>
>>>>
>>>>> the idea that I may need to cross compile the aforementioned libraries is 
>>>>> a
>>>>> warning that I receive when I try to build:
>>>>>
>>>>>
>>>>>     ​ld: warning: ignoring file /opt/local/lib/libfreetype.dylib, file was
>>>>> built for x86_64 which is not the architecture being linked (armv7):
>>>>> /opt/local/lib/libfreetype.dylib
>>>>
>>>> configure --without-freetype --without-glib --without-cairo
>>>>
>>>> Or better yet, set PKG_CONFIG_LIBDIR correctly.
>>>>
>>>> behdad
>>>>
>>>>
>>>>> This warning was followed by a bunch of errors regarding undefined 
>>>>> symbols for
>>>>> the architecture. I get the above warning for libglib.dylib and 
>>>>> libintl.dylib
>>>>> as well.
>>>>>
>>>>>
>>>>> Ultimately my goal is to create static libraries for HarfBuzz and 
>>>>> icu-le-hb.
>>>>>
>>>>>
>>>>> Thanks!
>>>>>
>>>>>
>>>>> Anita Hui
>>>>> [email protected]
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> HarfBuzz mailing list
>>>>> [email protected]
>>>>> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
>>>>>
>>>>
>>>> --
>>>> behdad
>>>> http://behdad.org/
>>>>
>>>
>>> --
>>> behdad
>>> http://behdad.org/
>>>
>>
>> --
>> behdad
>> http://behdad.org/
>>
> 
> --
> behdad
> http://behdad.org/
> 

-- 
behdad
http://behdad.org/
_______________________________________________
HarfBuzz mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to