リンク段階でのシンボルの重複については、ここで何度か取り上げました。しかし、この場合の答えは見つかりませんでした:
Objective-C アプリ用に C++ で記述された独自のライブラリがあります。lib から C++ ロジックを使用するには、ファイル拡張子を から.m
に変更する必要があります.mm
。複数の.mm
ファイルが必要なときに問題が発生します。リンカは私にエラーduplicate symbol __instance in:
とld: 1 duplicate symbol for architecture i386
.
__instance
C++ コードのどこにもシンボルを使用または宣言していません。- このエラーを取得するために C++ コードを使用またはインポートする必要はありません。
- ソースのコンパイル段階で重複ファイルはありません
- プロジェクト内のすべてのターゲットは、i386 ではなく、iOS アーキテクチャを設定しています