हम अपने प्रोजेक्ट के लिए जीसीसी के साथ precompiled हेडर का उपयोग कर रहे हैं और उन्हें निर्माण इस तरह:Precompiled हेडर और पर OSX
gcc $(CFLAGS) precompiledcommonlib.h
अब मैं पर OSX 10.6 परियोजना के निर्माण कर रहा हूँ और निफ्टी का उपयोग करने की कोशिश कर रहा
gcc $(CFLAGS) -c -arch i386 -arch x86_64 commonlib.c
हालांकि, ऐसा लगता है इस precompiled हेडर के लिए काम नहीं करता है:
gcc $(CFLAGS) -arch i386 -arch x86_64 precompiledcommonlib.h
Undefined symbols for architecture i386:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
Undefined symbols for architecture x86_64:
"_main", referenced from:
start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/z1/z1A0sPkqGDyPrZWo9ysVK++++TI/-Tmp-//cc3W2gwd.out (No such file or directory)
इस तरह एक ही समय में सभी आर्किटेक्चर के लिए निर्माण की सुविधा
संपादित करें: मार्क के अनुसार एक्सकोड के अनुसार इंगित किया गया है कि प्रीकंपिल्ड हेडर को प्रत्येक आर्किटेक्चर के लिए अलग से बनाया जाना है, इसलिए मेरा प्रश्न यह है कि यदि सार्वभौमिक वस्तुओं का निर्माण करते समय जीसीसी सही प्रीकंपिल्ड हेडर का उपयोग करने का कोई तरीका है।
मुझे एहसास है कि मैं प्रत्येक आर्किटेक्चर को एक्सकोड की तरह पूरी तरह से अलग कर सकता हूं लेकिन मैं उन्हें एक ही समय में बनाने की संभावना का लाभ उठाऊंगा और अलग-अलग बिल्ड कॉन्फ़िगरेशन के साथ गड़बड़ नहीं करना चाहूंगा।
मैं बस भी ऐसा ही करने की कोशिश की, और मैं क्या इकट्ठा कर सकते हैं से , आप _cannot_ ऐप्पल के जीसीसी दो '-arch' झंडे देते हुए एक पीसीएच फ़ाइल उत्पन्न करते हैं।क्यूटी लोग काम करने के लिए कुछ अजीब काम कर रहे हैं, आप इसे देखना चाहेंगे ... http://qt.gitorious.org/qt/qt/merge_requests/2193 – Lucas