1

Microsoft Visual Studio で .so 動的ライブラリ (またはその母体の .a 静的ライブラリ) をリンクする方法を誰かが知っているかどうか疑問に思っていました。次の手順は、.a または .so では機能しません。

MVSを使用してAndroid NDKで開発するためにvs-androidプラグインをいじっています.soとしてコンパイルされたカスタムライブラリをプロジェクトに追加しようとしています。

1 - 同じソリューションで、サンプル プロジェクトの 1 つ (san-angeles プロジェクト) と一緒に動的ライブラリ (.so) プロジェクトを作成しました。

2 - .so プロジェクトを設定しました。san-angeles の依存関係として「エンジン」と呼びましょう。engine.so ファイルは問題なく生成され、{SolutionFolder?}/Android/Debug フォルダーに表示されます。

3 - リンカーに san-angeles の追加インクルードと {SolutionFolder?}/Android/Debug フォルダー (C:/projects/.../Debug のようなフル パス) に engine.so を追加しました。追加のリンカー ディレクトリ。

しかし、san-angeles をコンパイルすると、次のエラーが表示されます。

「arm-linux-androideabi-g++.exe: engine.so: そのようなファイルまたはディレクトリはありません」

だから、プロジェクトに .so/.a を追加するには何か他のことをする必要があると思いますか? 名前を libengine.so などに変更しますか? デフォルトのインクルードの多くには lib プレフィックスが付いているため、それらの線に沿ったものかどうかはわかりません。

助けてくれてありがとう、ハイメ

4

1 に答える 1

-2

わかりましたので、私の場合、これは次の方法で解決されました。

1 - 生成された engine.a に libengine.a という名前を付けます

2 - MVS から engine.a を Preferences/Linker/Additional Dependencies に追加する代わりに、Preferences/Linker/Command Line -l"engine" に追加しました。

これにより、プロジェクトは最終的にエンジンを見つけることができました.a

これが他の誰かに役立つことを願っています。:)

于 2012-11-15T12:13:35.480 に答える