Question

J'ai donc suivi les étapes mentionnées ici: http: //zxing.googlecode. com / svn / trunk / iphone / README

Et je me suis assuré que tout va bien, mais encore mon QRCodeReader n'est pas reconnu dans le fichier myVC.mm.

Voici ce qui est la situation: Le projet est mis dans mon propre projet tel que décrit dans le lien. J'ai importé le #import "ZXingWidgetController.h" dans le fichier d'en-tête et il est reconnu. J'ai importé le #import "QRCodeReader.h" dans le fichier de mise en œuvre (.mm) Ensuite, je les ai tous les deux dans un ventilés entre targetmethod d'appuyer sur un bouton comme ceci:

    ZXingWidgetController *widController = [[ZXingWidgetController alloc] initWithDelegate:self showCancel:YES OneDMode:NO];
    widController.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"qr_code_initialising_bg.png"]];
    QRCodeReader* qrcodeReader = [[QRCodeReader alloc] init];
    NSSet *readers = [[NSSet alloc ] initWithObjects:qrcodeReader,nil];
    [qrcodeReader release];
    widController.readers = readers;
    [readers release];
    [self presentModalViewController:widController animated:YES];

Maintenant, il me dit que c'est le problème:

        QRCodeReader* qrcodeReader = [[QRCodeReader alloc] init];
    NSSet *readers = [[NSSet alloc ] initWithObjects:qrcodeReader,nil];
    [qrcodeReader release];

Il dit: Use of undeclared identifier 'QRCodeReader'

  • Pourquoi ne voit pas mon importation du QRCodeReader dans le semblent .mm fichier?
  • Qu'est-ce que j'oublie ce n'est pas dans la description que je?
  • Et le plus important, comment puis-je corriger cela pour reconnaître le QRCodeReader?
Était-ce utile?

La solution

Le code C ++ droite (non Objective C ++) utilise les espaces de noms de carbone.

Vous devez soit dire des déclarations de zxing::qrcode::QRCodeReader de using ou de l'utilisation comme

  using namespace zxing;
  using namespace zxing::qrcode;

Mise à jour :

Le code ci-dessus dans la classe apporter C ++, mais il est en fait une classe widget du même nom que j'oublié. Il est une classe Objective C qui enveloppe la classe C et est ce que vous voulez. Au lieu du code ci-dessus, juste #import "QRCodeReader.h" ... que vous avez dit que vous avez fait. J'attends les deux fichiers du même nom sont en collision. Est-ce que vous avez défini l'option « récursive » en incluant les fichiers cpp? Le README dit « ne pas besoin de » mais devrait probablement dire « ne doit pas ». Cela pourrait provoquer le fichier cpp à inclure et non la version widget de.

Autres conseils

J'ai eu ce problème exactement le même à la fin la solution était un peu facile.

Je mets le fichier .mm avec "Location" -> "Par rapport au projet"

.

Hope this help

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top