Linker 如何链接一个";。所以";Microsoft Visual Studio中的库

Linker 如何链接一个";。所以";Microsoft Visual Studio中的库,linker,.a,vs-android,Linker,.a,Vs Android,我想知道是否有人知道如何在Microsoft visual studio中链接.so动态库(或用于该主题的.so静态库)。以下步骤对.a或.so都不起作用 我正在使用MVS在android NDK中开发vs android插件,并尝试向项目中添加一个自定义库,编译为.so 1-我在同一个解决方案中创建了一个动态库(.so)项目以及一个示例项目(san angeles项目) 2-我已经设置了.so项目,让我们把它称为“引擎”,作为对旧金山的依赖。engine.so文件生成时没有任何问题,并显示在{

我想知道是否有人知道如何在Microsoft visual studio中链接.so动态库(或用于该主题的.so静态库)。以下步骤对.a或.so都不起作用

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

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

2-我已经设置了.so项目,让我们把它称为“引擎”,作为对旧金山的依赖。engine.so文件生成时没有任何问题,并显示在{SolutionFolder?}/Android/Debug文件夹中

3-我已将engine.so添加到链接器中,并将{SolutionFolder?}/Android/Debug文件夹(作为完整路径,类似于C:/projects/../Debug)添加到其他链接器目录中

但是当我编译san angeles时,我得到了一个错误:

“arm-linux-androideabi-g++.exe:engine.so:没有这样的文件或目录”

所以我猜我需要做些别的事情来添加一个.So/.a到一个项目中?也许把名字改成libengine.so之类的?很多默认的include都有lib前缀,所以我不知道它是否与这些内容类似

谢谢你的帮助,
Jaime

好的,在我的例子中,这是通过以下方式解决的:

1-将生成的引擎.a命名为libengine.a

2-我没有从MVS将engine.a添加到Preferences/Linker/其他依赖项,而是添加到Preferences/Linker/命令行-l“engine”

有了这个,这个项目终于找到了一个新的引擎


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

你的问题涉及到使用.so,但是你的答案使用了.a-你有没有尝试过链接到.so?没有,对不起,一旦它与.a一起工作,我就没有费心去推它了。