2009-05-26 9 views
1

Mise à jouriPhone distribution de bibliothèque statique et libérer des erreurs de compilation (mais pas pour le débogage)

Daniel était proche, il n'était pas le chemin de recherche. L'en-tête Prefix sous GCC 4.2 a été fixé à: $ (SYSTEM_LIBRARY_DIR) /Frameworks/AppKit.framework/Headers/AppKit.h

m'a manqué quand je peignait à travers les 2 premières fois. Je l'ai enlevé et maintenant tout va bien.


Original Question

J'utilise/produits de construction avec une bibliothèques statiques pendant environ une semaine sans problème.

Pour la première fois, j'ai essayé de construire une distribution (pour des tests ad hoc) et j'obtiens des erreurs partout.

Les erreurs, disent étrangement qu'il ne peut pas trouver les en-têtes Appkit. Ce qui est bizarre, car il s'agit d'une application iPhone et ne devrait pas être lié aux en-têtes Appkit

De plus, le nom de la bibliothèque, "libFJSCodeDebug.a" devient rouge lorsque je passe de la mise au point à la distribution/publication. Je pense que cela doit être un grand indice.

Pour tester, j'ai dupliqué la configuration de débogage et l'ai renommée release. Cela a bien construit. Donc, il semble que le problème est quelque part dans la configuration. Voici un extrait de ce que je reçois dans Xcode quand je construis. (Note: Je l'ai appelé mon objectif FJSCodeDebug même si elle sera utilisée à la fois le débogage et la libération construit)

Building target “FJSCodeDebug” of project “FJSCode” with configuration “Release” — (169 errors) 
    Checking Dependencies 
     cd /[redacted]/FJSCode 
    setenv PATH "/DeveloperBeta/Platforms/iPhoneOS.platform/Developer/usr/bin:/DeveloperBeta/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin" 
    /DeveloperBeta/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc-4.2 -x objective-c-header -arch armv6 -fmessage-length=0 -pipe -std=c99 -Wno-trigraphs -fpascal-strings -fasm-blocks -Os -Wreturn-type -Wunused-variable -isysroot /DeveloperBeta/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.0.sdk -gdwarf-2 -mthumb -miphoneos-version-min=3.0 -iquote /[redacted]/build/FJSCode.build/Release-iphoneos/FJSCodeDebug.build/FJSCodeDebug-generated-files.hmap -I/[redacted]/build/FJSCode.build/Release-iphoneos/FJSCodeDebug.build/FJSCodeDebug-own-target-headers.hmap -I/[redacted]/build/FJSCode.build/Release-iphoneos/FJSCodeDebug.build/FJSCodeDebug-all-target-headers.hmap -iquote /U[redacted]/build/FJSCode.build/Release-iphoneos/FJSCodeDebug.build/FJSCodeDebug-project-headers.hmap -F/[redacted]/build/Release-iphoneos -I/[redacted]/build/Release-iphoneos/include -I/Users/coreyfloyd/Xcode/ProductionProjects/build/FJSCode.build/Release-iphoneos/FJSCodeDebug.build/DerivedSources/armv6 -I/[redacted]/build/FJSCode.build/Release-iphoneos/FJSCodeDebug.build/DerivedSources -c /System/Library/Frameworks/AppKit.framework/Headers/AppKit.h -o /var/folders/R+/R+ofDLtuH1GOYQ1ZQ2C5mk+++TI/-Caches-/com.apple.Xcode.501/SharedPrecompiledHeaders/AppKit-gihvhjsfuggoevbehiszhgrzcska/AppKit.h.gch 
/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h:11:33: error: AppKit/AppKitDefines.h: No such file or directory 
/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h:12:32: error: AppKit/AppKitErrors.h: No such file or directory 
/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h:13:37: error: AppKit/NSGraphicsContext.h: No such file or directory 
/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h:14:35: error: AppKit/NSAccessibility.h: No such file or directory 
/System/Library/Frameworks/AppKit.framework/Headers/AppKit.h:15:32: error: AppKit/NSActionCell.h: No such file or directory 

...... (continues for everything in AppKit)...... 


Build failed (169 errors) 

Je cherche 1 2 solutions: De toute évidence, fixer la version release pour ne pas obtenir ces erreurs OU Modifiez la configuration de débogage pour disposer de tous les paramètres importants requis par une configuration de version.

Des idées?

Répondre

1

Ce

-c /System/Library/Frameworks/AppKit.framework/Headers/AppKit.h 

me conduit à croire que votre cible build tente de compiler AppKit.h pour une raison quelconque (alors que je ne pense pas qu'il devrait faire du tout), et/ou il cherche pour cela au mauvais endroit (ie dans la racine/System au lieu de dans le SDK/Developer/Platforms/...).

Vous devez vérifier vos chemins de recherche de bibliothèque/frameworks de build, et que AppKit.h n'est pas dans la phase de compilation.

+0

Merci pour l'indice ... Ce n'était pas là où je m'attendais. –

0

Votre projet inclut-il des produits Mac OS? Êtes-vous sûr de ne pas avoir inclus accidentellement une bibliothèque/framework Mac dans votre groupe de frameworks? Dans SDK2.2.1, je ne sais pas pourquoi, mais ce qui m'arrive toujours, c'est lorsque "Active SDK" et "Active Executable" ne sont plus synchronisés (dans la liste déroulante de configuration de la construction). Cela conduit à des erreurs de liens bizarres où l'iPhone tente dynamiquement lien contre ses bibliothèques. Ce paramètre semble parfois désynchronisé chaque fois que je passe d'un débogage/relâchement ou d'un périphérique/simulateur.

Peut-être que c'est un cas similaire, c'est difficile à dire sans voir les paramètres réels du projet.

Questions connexes