私のiPhoneアプリケーションにZXing QRコードリーダーライブラリ(ZXingWidget)を統合しましたが、これも私が使用しているCocoaLumberjackロギングライブラリ内の関数と競合します。CocoaLumberjackとZXingWidgetを使用したアーキテクチャi386の未定義シンボル
Undefined symbols for architecture i386:
"ExtractFileNameWithoutExtension(char const*, signed char)", referenced from: ...
DDLog.h
NSString *ExtractFileNameWithoutExtension(const char *filePath, BOOL copy);
#define THIS_FILE (ExtractFileNameWithoutExtension(__FILE__, NO))
DDLog.m
NSString *ExtractFileNameWithoutExtension(const char *filePath, BOOL copy) { ...
私はそれを呼び出すと:この原因は、どちらかのObj-Cファイルはヘッダが含まれていることである
DDLogVerbose(@"%@:%@", THIS_FILE, THIS_METHOD);
:
// import QR Code reader APIs
#import "ZXingWidgetController.h"
#import "QRCodeReader.h"
そのファイルの拡張子はから変更する必要があります適切なC++サポートのために、〜.mm。
しかし、DDLogVerbose(@ "%@:%@"、THIS_FILE、THIS_METHOD); *機能は失われます。
私はここで、これらの2つをお互いにうまく合わせるために紛失していますか?
OFコース!さあ、これは私のターボC++の日に戻ってきます。 #ifdef __cplusplusメソッドはそれを解決しました。ありがとうございました。 :) –