• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
Locked
0

Creating a native extension that needs to link to libicucore.dylib

Community Beginner ,
Feb 01, 2012 Feb 01, 2012

Copy link to clipboard

Copied

I'm trying to get ADT to link with libicucore.dylib and I've read http://blogs.adobe.com/rajorshi/2011/11/16/ios5-support-for-airusing-external-sdks-to-package-apps/ multiple times.

I've created a file called platformoptions.xml that looks like:

<platform xmlns=”http://ns.adobe.com/air/extension/3.1″>

     <sdkVersion>5.0</sdkVersion>
     <linkerOptions>
          <option>-licucore</option>
     </linkerOptions>
</platform>


And I've added -platformoptions platformoptions.xml to my ane build script, so it looks like:

../../../AdobeAIRSDK/bin/adt -package -target ane myNativeExtension.ane extension.xml -swc myNativeExtension.swc -platform iPhone-ARM library.swf myNativeExtension.a -platformoptions platformoptions.xml

I've also added the following to the command line when packaging the application using ADT -platformsdk /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/, so it looks like:

../../AdobeAIRSDK/bin/adt -package -target ipa-debug -connect 10.0.1.7 -storetype pkcs12 -keystore "./iphone_dev.p12" -storepass *** -provisioning-profile "./my.mobileprovision" "myLibTester.ipa" "myLibTester-app.xml" "BFGLibTester.swf" "icon" "Default@2x~iphone.png" "Default~iphone.png" "Default-Landscape.png" "Default-Portrait.png" -extdir "./extensions" -platformsdk "/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk/"

But I’m still getting undefined symbols for everything from that library:

"_uregex_appendTail", referenced from:

      _rkl_replaceAll in libcom.my.NativeExtensions.ios.mylibNativeExtension.a(RegexKitLite.o)

etc...

Any advice would be appreciated.

Thanks,

Michelle

TOPICS
Performance issues

Views

2.4K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Feb 01, 2012 Feb 01, 2012

Copy link to clipboard

Copied

Have you added -licucore in Other Linker flags under Xcode project settings, while creating your .a?

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 01, 2012 Feb 01, 2012

Copy link to clipboard

Copied

I was including the framework libicucore.dylib in the project, but I don't think you can add -licucore to a static library or you'll get linker errors. -licucore is not an object file (not allowed in a library). Including the framework was just because I was being paranoid and I think it is ignored. Typically you only need to add framework or -licucore to application including the static library.

Do you know of a way to add -licucore to static library when building in xcode? Have you seen this work in creating the final application?

Any thoughts? This is has completely stopped our progress so any help would be great.

Thanks,

Michelle

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Feb 02, 2012 Feb 02, 2012

Copy link to clipboard

Copied

I was talking about going to your Xcode settings>Build>Linking> and adding -licucore in the Other Linker Flags section. I haven't tried this though.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 02, 2012 Feb 02, 2012

Copy link to clipboard

Copied

Thanks for getting back to me.

Yes, I completely understand what you are asking and it's not possible to add that to other linker flags when you are building a static library. You can try it yourself (as I did to confirm) by creating a new project ->static library and building. Then add -licucore to other linker flag and try to build. You will see the errors.  If not, please let me know what I am doing wrong.

Could you please take the time to get this working on your end and advise the best solution. You documentation on this is very sparse and I feel you have left your developers with limited resources for working through these issues.

I'm sure others will benefit from the solution as well.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Beginner ,
Feb 06, 2012 Feb 06, 2012

Copy link to clipboard

Copied

Hi Neh -

rajorshi asked that I share my project files with you (http://blogs.adobe.com/rajorshi/2011/11/16/ios5-support-for-airusing-external-sdks-to-package-apps/).

What is the best way to do that? We are at a standstill until we get this resolved.

Thanks,

Michelle

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Adobe Employee ,
Feb 06, 2012 Feb 06, 2012

Copy link to clipboard

Copied

LATEST

Hi Michelle,

Feel free to send them via email to me (ccampbel@adobe.com) and I can forward them along to the appropriate person or you can send me a dropbox link.  Our corporate firewall typically blocks attachments for most people but I've had my email settings changed so that these get through to me.

Chris

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines