Comstackr FreeType pour iPhone?

J'utilise FreeType sur Windows, Linux et OSX sans un seul problème, et maintenant je devais transférer ma technologie vers IOS … Et je ne trouve pas de moyen pour que FreeType soit compilé pour cela.

Au début, j'ai essayé de déposer chaque file FT dans mon projet, mais cela n'a clairement pas fonctionné.

Ensuite, j'ai essayé de faire une bibliothèque statique en suivant ce tutoriel ici . Bien que je ne puisse pas tester si cela a fonctionné pour la cible du arm, cela ne fonctionne pas pour la cible du simulateur.

En essayant de lier la bibliothèque construite en XCode, il est dit "libfreetype-simulator.a, le file a été construit pour l'archive qui n'est pas l'architecture liée (i386)" et c'est ok parce que la command "lipo -info libfreetype-simulator.a" me dit que le file a été construit pour x86_64. J'ai essayé de le configurer avec "./configure –i386-apple-darwin", voici le journal . Mais encore, l'arc résultant était x86_64.

Comment puis-je build freetype pour i386, simulateur iphone? Je n'ai vraiment aucun indice.

J'ai utilisé le lien dans la réponse de CXA . Cependant, il est très obsolète, et ma ligne de configuration ne rentrait pas dans un commentaire. Pour armv7, compilant avec le SDK 6.1, avec une version minimale de 5.1, sans bzip2, vous voulez quelque chose comme:

./configure '--without-bzip2' '--prefix=/usr/local/iphone' '--host=arm-apple-darwin' '--enable-static=yes' '--enable-shared=no' 'CC=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' 'CFLAGS=-arch armv7 -pipe -std=c99 -Wno-sortinggraphs -fpascal-ssortingngs -O2 -Wreturn-type -Wunused-variable -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=5.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/usr/include/libxml2/ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/' 'AR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar' 'LDFLAGS=-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk/ -miphoneos-version-min=5.1' 

Notez l'absence de -mdynamic-no-pic qui produirait sinon un avertissement de l'éditeur de liens, et un email d'avertissement d'Apple, si laissé à l' -mdynamic-no-pic . Notez également que les différents paths ont changé.

Je suis tombé sur ce projet aujourd'hui en essayant de comstackr FreeType pour iOS: https://github.com/cdave1/freetype2-ios

Il suffit de download, ouvrir dans xcode et comstackr. 🙂

J'espère que cela est utile pour quelqu'un d'autre qui essaie de comstackr pour iOS.

J'ai compilé FreeType pour iOS avec succès avec ce lien: http://librocket.com/wiki/documentation/BuildingFreeTypeForiOS

Pour Xcode 5, gcc a déplacé l'location de sorte que la configuration soit:

 ./configure --without-zlib --without-png --without-bzip2 '--prefix=/usr/local/iPhone' '--host=arm-apple-darwin' '--enable-static=yes' '--enable-shared=no' 'CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' 'CFLAGS=-arch armv7 -pipe -std=c99 -Wno-sortinggraphs -fpascal-ssortingngs -O2 -Wreturn-type -Wunused-variable -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=6.1 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/usr/include/libxml2/ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/' 'AR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar' 'LDFLAGS=-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/ -miphoneos-version-min=6.1' 

L'location de CC peut être trouvé en exécutant:

 $ xcrun -find -sdk iphoneos clang 

Pour iOS SDK 8.1 avec une cible minimale de 7,1 sur Xcode 6.1, cela fonctionne:

 ./configure --without-zlib --without-png --without-bzip2 '--prefix=/usr/local/iPhone' '--host=arm-apple-darwin' '--enable-static=yes' '--enable-shared=no' 'CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' 'CFLAGS=-arch armv7 -pipe -std=c99 -Wno-sortinggraphs -fpascal-ssortingngs -O2 -Wreturn-type -Wunused-variable -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=7.0 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/include/libxml2/ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/' 'AR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar' 'LDFLAGS=-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/ -miphoneos-version-min=7.0' 

Peut-être que quelqu'un le finda utile.
SDK 8.1, XCode 6.1
i386, x86_64, arm64 (pour le profilage), armv7, armv7s

 ./configure CFLAGS="-arch i386" make clean make cp objs/.libs/libfreetype.a libfreetype-i386.a ./configure CFLAGS="-arch x86_64" make clean make cp objs/.libs/libfreetype.a libfreetype-x86_64.a ./configure --without-zlib --without-png --without-bzip2 '--prefix=/usr/local/iPhone' '--host=arm-apple-darwin' '--enable-static=yes' '--enable-shared=no' 'CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' 'CFLAGS=-arch armv7 -pipe -std=c99 -Wno-sortinggraphs -fpascal-ssortingngs -O2 -Wreturn-type -Wunused-variable -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=7.0 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/include/libxml2/ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/' 'AR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar' 'LDFLAGS=-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/ -miphoneos-version-min=7.0' make clean make cp objs/.libs/libfreetype.a libfreetype-armv7.a ./configure --without-zlib --without-png --without-bzip2 '--prefix=/usr/local/iPhone' '--host=arm-apple-darwin' '--enable-static=yes' '--enable-shared=no' 'CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' 'CFLAGS=-arch arm64 -pipe -std=c99 -Wno-sortinggraphs -fpascal-ssortingngs -O2 -Wreturn-type -Wunused-variable -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=7.0 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/include/libxml2/ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/' 'AR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar' 'LDFLAGS=-arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/ -miphoneos-version-min=7.0' make clean make cp objs/.libs/libfreetype.a libfreetype-arm64.a ./configure --without-zlib --without-png --without-bzip2 '--prefix=/usr/local/iPhone' '--host=arm-apple-darwin' '--enable-static=yes' '--enable-shared=no' 'CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' 'CFLAGS=-arch armv7s -pipe -std=c99 -Wno-sortinggraphs -fpascal-ssortingngs -O2 -Wreturn-type -Wunused-variable -fmessage-length=0 -fvisibility=hidden -miphoneos-version-min=7.0 -I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/usr/include/libxml2/ -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/' 'AR=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/ar' 'LDFLAGS=-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk/ -miphoneos-version-min=7.0' make clean make cp objs/.libs/libfreetype.a libfreetype-armv7s.a lipo -create -output libfreetype.a libfreetype-i386.a libfreetype-x86_64.a libfreetype-armv7.a libfreetype-armv7s.a libfreetype-arm64.a 

Ce script shell fonctionne pour moi, x86_64. Vous devez peut-être jeter un coup d'œil.

Je l'ai utilisé pour comstackr freetype2.5.5, et a obtenu armv7, arm64, i386, x86_64.Of bien sûr, il lipo à une seule bibliothèque statique de graisse.

Pour que freetype comstack facilement, il est important de passer les variables 'CC', 'CFLAGS', 'LDFLAGS' et 'AR' comme arguments pour configure et non comme variables d'environnement.

À un certain moment, configure exécute le gcc natif de la machine et si vous avez des 'LDFLAGS' qui pointent vers le SDK de l'iphone, cela provoquera l'échec. passer les variables à configure semble résoudre ce problème.