2011-11-02 8 views
10

मैं क्यूसीएआर एसडीके संकलित कर रहा हूं, लेकिन इस परियोजना में अधिक ढांचे को जोड़ने के बाद यह एक त्रुटि को संकेत देता है।एक्सकोड 4.2 में अज्ञात प्रकार का नाम 'नेमस्पेस'?

// Matrices.h 
// 
#ifndef _QCAR_MATRIX_H_ 
#define _QCAR_MATRIX_H_ 

namespace QCAR 
{ 

/// Matrix with 3 rows and 4 columns of float items 
struct Matrix34F { 
    float data[3*4]; ///< Array of matrix items 
}; 


/// Matrix with 4 rows and 4 columns of float items 
struct Matrix44F { 
    float data[4*4]; ///< Array of matrix items 
}; 

} // namespace QCAR 

#endif //_QCAR_MATRIX_H_ 

लाइन namespace QCAR में, यह Unknown type name 'namespace' कहा।

मुझे क्या करना चाहिए?

अद्यतन: यहाँ निर्माण प्रतिलेख

In file included from ../../build/include/QCAR/Tool.h:18: 
In file included from /Users/Raptor.Kwok/Documents/xCodeProjects/qcar-ios-1-0-0/samples/ImageTargets/ImageTargets/EAGLView.h:14: 
In file included from /Users/Raptor.Kwok/Documents/xCodeProjects/qcar-ios-1-0-0/samples/ImageTargets/ImageTargets/ImageTargetsAppDelegate.h:9: 
In file included from /Users/Raptor.Kwok/Documents/xCodeProjects/qcar-ios-1-0-0/samples/ImageTargets/CouponBook.m:12: 
../../build/include/QCAR/Matrices.h:16:1: error: unknown type name 'namespace' [1] 
namespace QCAR 
^ 
../../build/include/QCAR/Matrices.h:16:15: error: expected ';' after top level declarator [1] 
namespace QCAR 
      ^
       ; 
fix-it:"../../build/include/QCAR/Matrices.h":{16:15-16:15}:";" 
In file included from /Users/Raptor.Kwok/Documents/xCodeProjects/qcar-ios-1-0-0/samples/ImageTargets/ImageTargets/ImageTargetsAppDelegate.h:9: 
In file included from /Users/Raptor.Kwok/Documents/xCodeProjects/qcar-ios-1-0-0/samples/ImageTargets/CouponBook.m:12: 
/Users/Raptor.Kwok/Documents/xCodeProjects/qcar-ios-1-0-0/samples/ImageTargets/ImageTargets/EAGLView.h:52:5: error: type name requires a specifier or qualifier [1] 
    QCAR::Matrix44F projectionMatrix; 
    ^
/Users/Raptor.Kwok/Documents/xCodeProjects/qcar-ios-1-0-0/samples/ImageTargets/ImageTargets/EAGLView.h:52:10: error: expected expression [1] 
    QCAR::Matrix44F projectionMatrix; 
     ^
/Users/Raptor.Kwok/Documents/xCodeProjects/qcar-ios-1-0-0/samples/ImageTargets/ImageTargets/EAGLView.h:52:5:{52:5-52:9}: warning: type specifier missing, defaults to 'int' [-Wimplicit-int,3] 
    QCAR::Matrix44F projectionMatrix; 
    ^~~~ 
1 warning and 4 errors generated. 
+0

** भविष्य पाठकों के लिए नोट: ** QCAR अब Vulforia, जहां ऊपर त्रुटियों नमूना परियोजनाओं में से किसी में दिखाई नहीं देगा करने के लिए बदल दिया गया है। – Raptor

उत्तर

15

मुझे लगता है अनुवाद सी या ऑब्जेक्टिव-सी है, जहां namespace एक कीवर्ड के रूप में यह ऑब्जेक्टिव-सी C++ और ++ नहीं है है।

एक और संभावना यह है कि पिछले हेडर ने शरीर को बंद नहीं किया था (उदाहरण के लिए }; भूल गए } को फ़ंक्शन परिभाषा के अंत में भूलने के बाद)।

+0

यह शायद xCode 4.2 और QCAR SDK 1.0 के बीच संगतता समस्या है। देखें: https://ar.qualcomm.com:443/arforums/showthread.php?t=1079 (क्यूसीएआर एसडीके लॉगिन की आवश्यकता है) – Raptor

+1

@ शिवन एमओएसआर ने वही सुझाव दिया था जो मैंने बनाया था। यदि आप अपनी पोस्ट संपादित करते हैं और फ़ाइल के लिए बिल्ड ट्रांसक्रिप्ट जोड़ते हैं जो त्रुटि उत्पन्न करता है, तो मैं सत्यापित कर सकता हूं कि यह मामला है या नहीं। – justin

+0

बिल्ड ट्रांसक्रिप्ट जोड़ा गया है। – Raptor

16

आप अपनी फ़ाइल का नाम .mm के साथ बदल सकते हैं या आप अपनी .m फ़ाइल का चयन कर सकते हैं और "फ़ाइल प्रकार" को "उद्देश्य-सी ++ स्रोत" में बदल सकते हैं।

filetype