ゲーム エンジンの静的ライブラリにリンクされたテスト プロジェクトがあります。OS X および iOS 用にビルドすることに成功し、実験中にアプリケーション コードにライブラリ メソッドの新しい使用法を追加しました (既に他の使用法がいくつかあります)。
std::vector<Node*> allNodes;
_scene->findNodes("", allNodes, true, false);
その後、iOS ビルドでリンカー エラーが発生し始めました (OS X ビルドは引き続き正常に動作します)。
Undefined symbols for architecture armv7:
"gameplay::Scene::findNodes(char const*, std::vector<gameplay::Node*, std::allocator<gameplay::Node*> >&, bool, bool) const", referenced from:
App::initialize() in App.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture armv7s:
"gameplay::Scene::findNodes(char const*, std::vector<gameplay::Node*, std::allocator<gameplay::Node*> >&, bool, bool) const", referenced from:
App::initialize() in App.o
ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
同時に、他の機能 (同じクラスのシーンからでも) がリンクされ、正常に動作します。このメソッドには次のシグネチャがあります。
unsigned int findNodes(const char* id, std::vector<Node*>& nodes, bool recursive = true, bool exactMatch = true) const;
.cpp ファイルでは、その実装に一致する署名があります。
unsigned int Scene::findNodes(const char* id, std::vector<Node*>& nodes, bool recursive, bool exactMatch) const
それでもリンクしない。この特定の方法で何が問題になる可能性がありますか?
XCode のバージョンは 5.0.2 です
編集 1: ライブラリは、アプリ自体と同様に、armv7/armv7s アーキテクチャのソースから構築されました。