1

我想知道是否有人知道如何在 Microsoft Visual Studio 中链接 .so 动态库(或该母校的 .a 静态库)。以下步骤不适用于 .a 或 .so。

我正在使用vs-android插件在Android NDK中使用MVS进行开发,并且我正在尝试向项目添加一个编译为.so的自定义库。

1 - 在同一个解决方案中,我在示例项目之一(san-angeles 项目)旁边创建了一个动态库 (.so) 项目。

2 - 我已经设置了 .so 项目,我们称它为“引擎”作为 san-angeles 的依赖项。engine.so 文件生成没有任何问题,并出现在 {SolutionFolder?}/Android/Debug 文件夹中。

3 - 我已将 engine.so 添加到链接器中,附加包括 san-angeles 和 {SolutionFolder?}/Android/Debug 文件夹(作为完整路径,类似于 C:/projects/.../Debug)到额外的链接器目录。

但是当我编译 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"

有了这个,该项目终于设法找到和engine.a

希望这对其他人有帮助。:)

于 2012-11-15T12:13:35.480 回答