2011-11-02 9 views
10

Kompiluję pakiet QCAR SDK, ale po dodaniu kolejnych ram do projektu pojawia się monit o błąd.Nieznany typ nazwa "przestrzeń nazw" w kodzie XCode 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_ 

W linii namespace QCAR, to powiedział Unknown type name 'namespace'.

Co należy zrobić?

UPDATE: Oto kompilacja transkrypt

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

** Uwaga dla przyszłych czytelników: ** QCAR jest teraz przemianowany na Vulforia, gdzie nie pojawi się ponownie powyższe błędy w którymkolwiek z przykładowych projektów. – Raptor

Odpowiedz

15

Podejrzewam, że tłumaczenie jest C lub Objective-C, gdzie namespace nie jest słowem kluczowym, jak to jest w C++ i Objective-C++.

Inną możliwością jest to, że poprzedni nagłówek nie zamykał ciała (np. Zapomniał }; na końcu deklaracji klasy zapomnianej } na końcu definicji funkcji).

+0

Prawdopodobnie jest to problem kompatybilności między XCode 4.2 i QCAR SDK 1.0. Zobacz: https://ar.qualcomm.com:443/arforums/showthread.php?t=1079 (wymaga QCAR SDK Login) – Raptor

+1

@Shivan MoSR miał tę samą sugestię, którą zrobiłem. Jeśli edytujesz swój wpis i dodajesz zapis budowy do pliku, który powoduje błędy, mogę zweryfikować, czy tak jest, czy nie. – justin

+0

Dodano transkrypcję budowy. – Raptor

16

Możesz zmienić nazwę pliku za pomocą .mm lub możesz wybrać plik .m i zmienić "Typ pliku" na "Źródło Objective-C++".

filetype

Powiązane problemy