Ich kann mein Projekt in Xcode (4.2) für das Debugging ohne Probleme erstellen, aber wenn ich es für Release erstellen (Build für die Archivierung) bekomme ich Fehler: "Typedef Redefinition mit verschiedenen Typen (unsigned int vs unsigned long) ".Typedef Neudefinition Fehler beim Versuch, XCode-Projekt für Release
Problematische Code ist:
#ifdef _LZMA_UINT32_IS_ULONG
typedef long Int32;
typedef unsigned long UInt32;
#else
typedef int Int32;
typedef unsigned int UInt32; <--error on this line
#endif
Sie ganze Datei auf sehen: http://read.pudn.com/downloads166/sourcecode/zip/758136/C/Types.h__.htm
vorherige Definition ist in MacTypes.h von Coreservices Rahmen.
Ich habe die gleichen Präprozessor-Makros für Debug und Release, und ich verwende Apples LLVM-Compiler 3.0. Derselbe Fehler tritt auf, wenn ich versuche, ein Projekt zur Analyse zu erstellen.
Eine Idee, warum das passiert?
Ich weiß, Sie denken, Sie haben überall die gleichen Makros für die Vorverarbeitung, aber können Sie # error fail direkt in den ifdef _LZMA_UINT32_IS_ULONG Block setzen und sicherstellen, dass der Code niemals kompiliert wird? Ich habe das Gefühl, dass verschiedene Wege durch dieses ifdef für debug vs. release genommen werden, wenn Sie bestätigen, dass Sie beginnen können, warum zu verfolgen. –
Kompilieren Sie für dasselbe Ziel in Debug vs Release (dh ist einer von ihnen für nur 64 Bit kompilieren und die andere Kompilierung für 32 Bit oder beide? – DRVic
@DRVic Sie haben Recht, kompilierte ich nur für 64bit beim Debuggen und für die Veröffentlichung habe ich 32bit/64bit verwendet.Wenn ich nur 64bit für die Veröffentlichung gewählt habe, baut es gut.Wie kann ich es für beide 32bit/64bit kompilieren? –