質問

ここに記載されている手順に従いました: http://zxing.googlecode。com / svn / trunk / iphone / README

すべてが正常であることを確認しましたが、QRCodeReaderがmyVC.mmファイルで認識されていません。

これが状況です: リンクで説明されているように、プロジェクトは自分のプロジェクトに入れられます。 ヘッダーファイルに#import "ZXingWidgetController.h"をインポートしましたが、認識されています。 実装ファイル(.mm)に#import "QRCodeReader.h"をインポートしました 次に、次のようなボタンのtargetmethodで両方を割り当てました。 ジェネラコディセタグプレ

これが問題であることがわかりました: ジェネラコディセタグプレ

それは言う:Use of undeclared identifier 'QRCodeReader'

  • QRCodeReaderのインポートが.mmに表示されないのはなぜですか ファイル?
  • 使用した説明にないことを何を忘れましたか?
  • そして最も重要なのは、QRCodeReaderを認識するためにこれを修正するにはどうすればよいですか?
役に立ちましたか?

解決

ストレートC ++コード(Objective C ++ではない)はC ++名前空間を使用します。

zxing::qrcode::QRCodeReaderと言うか、次のようなusingステートメントを使用する必要があります ジェネラコディセタグプレ

更新

上記のコードはC ++クラスを取り込みますが、実際には私が忘れていた同じ名前のウィジェットクラスがあります。これは、C ++クラスをラップするObjectiveCクラスであり、必要なものです。上記のコードの代わりに、あなたがやったと言った#import "QRCodeReader.h" ...だけです。同じ名前の2つのファイルが衝突していると思います。cppファイルを含めるときに「再帰的」オプションを設定しましたか?READMEには「する必要はない」と書かれていますが、おそらく「してはいけない」と書かれているはずです。これにより、ウィジェットバージョンではなく、cppファイルが含まれる可能性があります。

他のヒント

最後にこれとまったく同じ問題が発生しました。解決策は簡単でした。

「場所」->「プロジェクトとの相対関係」を含む.mmファイルを配置しました。

この助けを願っています

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top