2011-11-02 21 views
10

Estoy compilando QCAR SDK, pero se produce un error después de que agregué más marcos al proyecto.¿Nombre de tipo desconocido 'namespace' en 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_ 

En la línea namespace QCAR, dijo Unknown type name 'namespace'.

¿Qué debo hacer?

ACTUALIZACIÓN: Esta es la transcripción acumulación

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

** Nota para los futuros lectores: ** QCAR se denomina ahora a Vulforia, donde los errores anteriores no volverá a aparecer en cualquiera de los proyectos de la muestra. – Raptor

Respuesta

15

Sospecho que la traducción es C o de Objective-C, donde namespace no es una palabra clave, ya que es en C++ y Objective-C++.

Otra posibilidad es que un encabezado anterior no cerró un cuerpo (por ejemplo, }; olvidado al final de la declaración de clase } al final de la definición de la función).

+0

Probablemente es el problema de compatibilidad entre xCode 4.2 y QCAR SDK 1.0. Ver: https://ar.qualcomm.com:443/arforums/showthread.php?t=1079 (requiere el inicio de sesión de QCAR SDK) – Raptor

+1

@Shivan MoSR tenía la misma sugerencia que hice. Si edita su publicación y agrega la transcripción de compilación para el archivo que produce el error (s), entonces puedo verificar que este sea o no el caso. – justin

+0

Se agrega la transcripción de compilación. – Raptor

16

Puede cambiar el nombre de su archivo con .mm o puede seleccionar su archivo .m y cambiar el "Tipo de archivo" a "Fuente Objective-C++".

filetype

Cuestiones relacionadas